1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
 * Firefly III API
 *
 * This is the official documentation of the Firefly III API. You can find accompanying documentation on the website of Firefly III itself (see below). Please report any bugs or issues. This version of the API is live from version v4.7.9 and onwards. You may use the \"Authorize\" button to try the API below. 
 *
 * The version of the OpenAPI document: 0.10.4
 * Contact: thegrumpydictator@gmail.com
 * Generated by: https://openapi-generator.tech
 */


use serde::{Deserialize, Serialize};



#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct BudgetLimit {
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    /// Use either currency_id or currency_code. Defaults to the user's default currency.
    #[serde(rename = "currency_id", skip_serializing_if = "Option::is_none")]
    pub currency_id: Option<i32>,
    /// Use either currency_id or currency_code. Defaults to the user's default currency.
    #[serde(rename = "currency_code", skip_serializing_if = "Option::is_none")]
    pub currency_code: Option<String>,
    #[serde(rename = "currency_symbol", skip_serializing_if = "Option::is_none")]
    pub currency_symbol: Option<String>,
    #[serde(rename = "currency_decimal_places", skip_serializing_if = "Option::is_none")]
    pub currency_decimal_places: Option<i32>,
    /// The budget ID of the associated budget.
    #[serde(rename = "budget_id")]
    pub budget_id: i32,
    /// Start date of the budget limit.
    #[serde(rename = "start")]
    pub start: String,
    /// End date of the budget limit.
    #[serde(rename = "end")]
    pub end: String,
    #[serde(rename = "amount")]
    pub amount: f64,
    #[serde(rename = "spent", skip_serializing_if = "Option::is_none")]
    pub spent: Option<Vec<crate::models::BudgetSpent>>,
}

impl BudgetLimit {
    pub fn new(budget_id: i32, start: String, end: String, amount: f64) -> BudgetLimit {
        BudgetLimit {
            created_at: None,
            updated_at: None,
            currency_id: None,
            currency_code: None,
            currency_symbol: None,
            currency_decimal_places: None,
            budget_id,
            start,
            end,
            amount,
            spent: None,
        }
    }
}