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> { 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::>()) }