use chrono::{DateTime, Utc};
use rust_decimal::Decimal;
use serde::Deserialize;
use super::account::Account;
use super::sales_tax::SalesTax;
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Product {
pub id: String,
pub name: String,
pub description: Option<String>,
pub unit_price: Decimal,
pub is_sold: bool,
pub is_bought: bool,
pub is_archived: bool,
pub income_account: Option<Account>,
pub expense_account: Option<Account>,
pub default_sales_taxes: Option<Vec<SalesTax>>,
pub created_at: DateTime<Utc>,
pub modified_at: DateTime<Utc>,
}