From 9d2b6ee10ec5359cc91769d430485c8c869ba1a8 Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 24 Dec 2020 10:51:40 +0530 Subject: monorepo --- src/handlers/rating.rs | 91 -------------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 src/handlers/rating.rs (limited to 'src/handlers/rating.rs') diff --git a/src/handlers/rating.rs b/src/handlers/rating.rs deleted file mode 100644 index dfbeb3e..0000000 --- a/src/handlers/rating.rs +++ /dev/null @@ -1,91 +0,0 @@ -use crate::models::{AddRating, Customer, Rating}; -use crate::schema::rating::dsl as rating; -use crate::schema::{customer::dsl::*, product::dsl::*}; -use crate::TPool; - -use actix_identity::Identity; -use actix_web::{web, HttpResponse, Responder}; -use diesel::prelude::*; -use log::{error, info}; -use serde::Deserialize; - -#[derive(Deserialize, Debug)] -pub struct AddRatingJson { - pub comment_text: Option, - pub stars: Option, - pub product_id: i32, -} - -pub async fn add_rating( - cookie: Identity, - rating_details: web::Json, - pool: web::Data, -) -> impl Responder { - info!("Add rating hit: {:?}", rating_details.product_id); - info!("{:?}", cookie.identity()); - let conn = pool.get().unwrap(); - if let Some(uname) = cookie.identity() { - let selected_user = customer - .filter(username.eq(&uname)) - .limit(1) - .first::(&conn) - .expect("Couldn't connect to DB"); - let rating_details = rating_details.into_inner(); - let new_rating = AddRating { - comment_text: rating_details.comment_text, - stars: rating_details.stars, - product_id: rating_details.product_id, - customer_id: selected_user.id, - }; - diesel::insert_into(rating::rating) - .values(new_rating) - .execute(&conn) - .expect("Coundn't connect to DB"); - HttpResponse::Ok().body("Inserted rating successfully!") - } else { - error!("Unauthorized add rating action!"); - return HttpResponse::Unauthorized() - .body("Need to be logged in to add rating!"); - } -} - -#[derive(Deserialize, Debug)] -pub struct RemoveRating { - rating_id: i32, -} - -pub async fn remove_rating( - cookie: Identity, - rating_details: web::Json, - pool: web::Data, -) -> impl Responder { - info!("Remove rating hit: {:?}", rating_details.rating_id); - let conn = pool.get().unwrap(); - if let Some(uname) = cookie.identity() { - let selected_user = customer - .filter(username.eq(&uname)) - .limit(1) - .first::(&conn) - .expect("Couldn't connect to DB"); - - diesel::delete( - rating::rating - .filter(rating::customer_id.eq(selected_user.id)) - .filter(rating::id.eq(rating_details.rating_id)), - ) - .execute(&conn) - .expect("Coundn't connect to DB"); - HttpResponse::Ok().body("Removed successfully!") - } else { - error!("Unauthorized add to cart action!"); - return HttpResponse::Unauthorized() - .body("Need to be logged in to add to cart!"); - } -} - -// pub async fn get_product_reviews( -// product: web::Json, -// pool: web::Data, -// ) -> impl Responder { -// unimplemented!() -// } -- cgit v1.2.3