use serde::Deserialize;
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Product {
pub sku: String,
pub price: usize,
pub sale_price: Option<usize>,
pub title: String,
pub short_title: Option<String>,
pub description: String,
pub short_description: Option<String>,
pub category: String,
#[serde(rename = "type")]
pub product_type: Option<String>,
pub tags: Option<Vec<ProductTag>>,
pub visible: bool,
pub details: ProductDetails,
pub updated_at: String,
pub created_at: String,
pub status: String,
pub release_date: Option<String>,
pub unpublished: Option<bool>,
pub on_wishlist: bool,
pub is_owned: bool
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProductDetails {
#[serde(rename = "promotionalDiscountOptIn")]
pub promo_disc_opt_in: Option<bool>,
pub supported_languages: Vec<String>,
pub contributors: Vec<String>,
pub managed: bool,
pub links: Vec<ProductLinks>,
pub publisher_id: String,
pub publisher_name: String,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProductLinks {
#[serde(rename = "_id")]
_id: String,
pub link_text: String,
pub link_url: String
}
#[derive(Debug, Deserialize)]
pub struct ProductTag {
_id: String,
pub tag: String
}