summaryrefslogblamecommitdiff
path: root/dichroism/src/dtos/product_get.rs
blob: 3f68eeff74fd610698bf95e14f739af8b602d29c (plain) (tree)































                                                              
use crate::models::Product;

#[derive(Debug, Serialize)]
pub struct ProductGet {
    pub id: i32,
    pub name: String,
    pub description: String,
    pub cents: i32,
    pub quantity: i32,
    pub featured: bool,
    pub photo_base: String,
    pub photo_fullsize: String,
    pub photo_thumbnail: String,
    pub category: String,
}

impl From<Product> for ProductGet {
    fn from(p: Product) -> Self {
        Self {
            id: p.id.unwrap_or(-1),
            name: p.name,
            description: p.description,
            cents: p.cents,
            quantity: p.quantity,
            featured: p.featured,
            category: p.category,
            photo_fullsize: p.photo_set.fullsize.filename(),
            photo_base: p.photo_set.base.filename(),
            photo_thumbnail: p.photo_set.thumbnail.filename(),
        }
    }
}