diff options
Diffstat (limited to 'dichroism/src/dtos/product_get.rs')
-rw-r--r-- | dichroism/src/dtos/product_get.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/dichroism/src/dtos/product_get.rs b/dichroism/src/dtos/product_get.rs new file mode 100644 index 0000000..3f68eef --- /dev/null +++ b/dichroism/src/dtos/product_get.rs @@ -0,0 +1,32 @@ +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(), + } + } +} |