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