Skip to main content

wave_api/models/
product.rs

1use chrono::{DateTime, Utc};
2use rust_decimal::Decimal;
3use serde::Deserialize;
4
5use super::account::Account;
6use super::sales_tax::SalesTax;
7
8/// A product or service.
9#[derive(Debug, Clone, Deserialize)]
10#[serde(rename_all = "camelCase")]
11pub struct Product {
12    pub id: String,
13    pub name: String,
14    pub description: Option<String>,
15    pub unit_price: Decimal,
16    pub is_sold: bool,
17    pub is_bought: bool,
18    pub is_archived: bool,
19    pub income_account: Option<Account>,
20    pub expense_account: Option<Account>,
21    pub default_sales_taxes: Option<Vec<SalesTax>>,
22    pub created_at: DateTime<Utc>,
23    pub modified_at: DateTime<Utc>,
24}