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<models::Product> 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),
),
}
}
}