From 5cb0869b94fc8b9aff564055af9a60046de7b028 Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Thu, 22 Oct 2020 22:09:46 -0400 Subject: Skipped separate photo table; working handler for get all products (lacking cats) --- dichroism/src/product_repo.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'dichroism/src/product_repo.rs') diff --git a/dichroism/src/product_repo.rs b/dichroism/src/product_repo.rs index 93176b2..6f40b20 100644 --- a/dichroism/src/product_repo.rs +++ b/dichroism/src/product_repo.rs @@ -1,12 +1,27 @@ use crate::entities; use crate::models; +use crate::schema::*; use diesel::prelude::*; use diesel::result::Error; type DBConn = SqliteConnection; pub fn read_products(conn: &DBConn) -> Result, Error> { - use crate::schema::products::dsl::*; - let results = products.load::(conn)?; - todo!() + let query = products::table.inner_join(photo_sets::table).select(( + products::id, + products::name, + products::description, + products::quantity, + products::cents, + products::featured, + photo_sets::original, + photo_sets::fullsize, + photo_sets::base, + photo_sets::thumbnail, + )); + Ok(query + .load::(conn)? + .into_iter() + .map(|p| p.into()) + .collect::>()) } -- cgit v1.2.3