diff options
Diffstat (limited to 'dichroism/src/handlers.rs')
-rw-r--r-- | dichroism/src/handlers.rs | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/dichroism/src/handlers.rs b/dichroism/src/handlers.rs index 1f657c2..beecb72 100644 --- a/dichroism/src/handlers.rs +++ b/dichroism/src/handlers.rs @@ -1,6 +1,6 @@ -//use super::product_repo; -use super::types::DbPool; -//use crate::config::Config; +use crate::dtos::*; +use crate::product_repo; +use crate::types::DbPool; use actix_web::{get, patch, post, web, Error, HttpResponse, Responder}; #[get("/")] @@ -9,24 +9,24 @@ async fn hello() -> impl Responder { } #[get("/products")] -async fn get_products(_pool: web::Data<DbPool>) -> Result<HttpResponse, Error> { - dbg!("got products"); - Ok(HttpResponse::Ok().finish()) - //let conn = pool.get().expect("Couldn't get DB connection from pool."); - //let products = web::block(move || product_repo::read_products(&conn)) - // .await - // .map_err(|e| { - // eprintln!("{}", e); - // HttpResponse::InternalServerError().finish() - // })?; +async fn get_products(pool: web::Data<DbPool>) -> Result<HttpResponse, Error> { + let conn = pool.get().expect("Couldn't get DB connection from pool."); + let products = web::block(move || product_repo::read_products(&conn)) + .await + .map_err(|e| { + eprintln!("{}", e); + HttpResponse::InternalServerError().finish() + })?; + //dbg!(&products); //Ok(HttpResponse::Ok().json(products)) + todo!() } #[patch("/products/{id}")] async fn update_product( _pool: web::Data<DbPool>, id: web::Path<u32>, - updated_product: web::Json<UpdatedProduct>, + updated_product: web::Json<ProductPatch>, ) -> Result<HttpResponse, Error> { dbg!(id, updated_product); Ok(HttpResponse::Ok().finish()) @@ -40,15 +40,3 @@ async fn create_product( dbg!(new_product); Ok(HttpResponse::Ok().finish()) } - -#[derive(Debug, Deserialize)] -pub struct NewProduct { - pub name: String, - pub description: String, -} - -#[derive(Debug, Deserialize)] -pub struct UpdatedProduct { - pub name: Option<String>, - pub description: Option<String>, -} |