artcoded_api/models/
invoice_row.rs

1/*
2 * Artcoded
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct InvoiceRow {
16    #[serde(rename = "projectName", skip_serializing_if = "Option::is_none")]
17    pub project_name: Option<String>,
18    #[serde(rename = "period", skip_serializing_if = "Option::is_none")]
19    pub period: Option<String>,
20    #[serde(rename = "nature", skip_serializing_if = "Option::is_none")]
21    pub nature: Option<String>,
22    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
23    pub amount: Option<f64>,
24    #[serde(rename = "rate", skip_serializing_if = "Option::is_none")]
25    pub rate: Option<f64>,
26    #[serde(rename = "hoursPerDay", skip_serializing_if = "Option::is_none")]
27    pub hours_per_day: Option<f64>,
28    #[serde(rename = "amountType", skip_serializing_if = "Option::is_none")]
29    pub amount_type: Option<AmountType>,
30    #[serde(rename = "rateType", skip_serializing_if = "Option::is_none")]
31    pub rate_type: Option<RateType>,
32    #[serde(rename = "total", skip_serializing_if = "Option::is_none")]
33    pub total: Option<f64>,
34}
35
36impl InvoiceRow {
37    pub fn new() -> InvoiceRow {
38        InvoiceRow {
39            project_name: None,
40            period: None,
41            nature: None,
42            amount: None,
43            rate: None,
44            hours_per_day: None,
45            amount_type: None,
46            rate_type: None,
47            total: None,
48        }
49    }
50}
51///
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum AmountType {
54    #[serde(rename = "DAYS")]
55    Days,
56    #[serde(rename = "HOURS")]
57    Hours,
58}
59
60impl Default for AmountType {
61    fn default() -> AmountType {
62        Self::Days
63    }
64}
65///
66#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
67pub enum RateType {
68    #[serde(rename = "DAYS")]
69    Days,
70    #[serde(rename = "HOURS")]
71    Hours,
72}
73
74impl Default for RateType {
75    fn default() -> RateType {
76        Self::Days
77    }
78}