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,
}
impl Into<models::Product> 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: String::new(), // TODO: real 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),
},
}
}
}