raisfast 0.2.19

The last backend you'll ever need. Rust-powered headless CMS with built-in blog, ecommerce, wallet, payment and 4 plugin engines.
//! Product-related commands

use crate::types::snowflake_id::SnowflakeId;
pub struct CreateProductCmd {
    pub category_id: Option<i64>,
    pub title: String,
    pub description: Option<String>,
    pub cover_url: Option<String>,
    pub product_type: String,
    pub fulfillment_type: String,
    pub delivery_hook: Option<String>,
    pub weight: Option<i64>,
    pub price: i64,
    pub currency: String,
    pub attributes: Option<String>,
    pub sort_order: i64,
    pub slug: Option<String>,
    pub content: Option<String>,
    pub image_ids: Option<String>,
    pub original_price: Option<i64>,
    pub specs: Option<String>,
    pub unit: String,
    pub min_purchase: i64,
    pub max_purchase: Option<i64>,
    pub virtual_sales: i64,
    pub meta_title: Option<String>,
    pub meta_description: Option<String>,
    pub stock: i64,
    pub cost_price: Option<i64>,
    pub sale_price: Option<i64>,
    pub has_variants: bool,
}

pub struct UpdateProductCmd {
    pub id: SnowflakeId,
    pub category_id: Option<i64>,
    pub title: String,
    pub description: Option<String>,
    pub cover_url: Option<String>,
    pub product_type: String,
    pub fulfillment_type: String,
    pub delivery_hook: Option<String>,
    pub weight: Option<i64>,
    pub price: i64,
    pub currency: String,
    pub status: String,
    pub attributes: Option<String>,
    pub sort_order: i64,
    pub slug: Option<String>,
    pub content: Option<String>,
    pub image_ids: Option<String>,
    pub original_price: Option<i64>,
    pub specs: Option<String>,
    pub unit: String,
    pub min_purchase: i64,
    pub max_purchase: Option<i64>,
    pub total_sales: i64,
    pub virtual_sales: i64,
    pub meta_title: Option<String>,
    pub meta_description: Option<String>,
    pub published_at: Option<String>,
    pub stock: i64,
    pub cost_price: Option<i64>,
    pub sale_price: Option<i64>,
    pub has_variants: bool,
    pub version: i64,
}