use crate::models; use crate::schema::products; #[derive(Debug, Clone, Identifiable, Queryable, Serialize)] pub struct Product { pub id: i32, pub name: String, pub description: String, pub quantity: i32, pub cents: i32, pub featured: i32, pub original: String, pub fullsize: String, pub base: String, pub thumbnail: String, } impl Into for Product { fn into(self) -> models::Product { models::Product { id: self.id as u32, name: self.name, description: self.description, quantity: self.quantity as u32, cents: self.cents as u32, featured: self.featured != 0, // TODO: is this safe? category: String::new(), // TODO: real category photo_set: models::PhotoSet::from_photos( models::Photo::from_filename(self.original), models::Photo::from_filename(self.fullsize), models::Photo::from_filename(self.base), models::Photo::from_filename(self.thumbnail), ), } } }