ynab_api_async_fork/models/
scheduled_transaction_summary.rs

1/*
2 * YNAB API Endpoints
3 *
4 * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body.  API Documentation is at https://api.ynab.com
5 *
6 * The version of the OpenAPI document: 1.72.1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ScheduledTransactionSummary {
16    #[serde(rename = "id")]
17    pub id: String,
18    /// The first date for which the Scheduled Transaction was scheduled.
19    #[serde(rename = "date_first")]
20    pub date_first: String,
21    /// The next date for which the Scheduled Transaction is scheduled.
22    #[serde(rename = "date_next")]
23    pub date_next: String,
24    #[serde(rename = "frequency")]
25    pub frequency: Frequency,
26    /// The scheduled transaction amount in milliunits format
27    #[serde(rename = "amount")]
28    pub amount: i64,
29    #[serde(rename = "memo", skip_serializing_if = "Option::is_none")]
30    pub memo: Option<String>,
31    #[serde(rename = "flag_color", skip_serializing_if = "Option::is_none")]
32    pub flag_color: Option<crate::models::TransactionFlagColor>,
33    /// The customized name of a transaction flag
34    #[serde(rename = "flag_name", skip_serializing_if = "Option::is_none")]
35    pub flag_name: Option<String>,
36    #[serde(rename = "account_id")]
37    pub account_id: String,
38    #[serde(rename = "payee_id", skip_serializing_if = "Option::is_none")]
39    pub payee_id: Option<String>,
40    #[serde(rename = "category_id", skip_serializing_if = "Option::is_none")]
41    pub category_id: Option<String>,
42    /// If a transfer, the account_id which the scheduled transaction transfers to
43    #[serde(rename = "transfer_account_id", skip_serializing_if = "Option::is_none")]
44    pub transfer_account_id: Option<String>,
45    /// Whether or not the scheduled transaction has been deleted.  Deleted scheduled transactions will only be included in delta requests.
46    #[serde(rename = "deleted")]
47    pub deleted: bool,
48}
49
50impl ScheduledTransactionSummary {
51    pub fn new(id: String, date_first: String, date_next: String, frequency: Frequency, amount: i64, account_id: String, deleted: bool) -> ScheduledTransactionSummary {
52        ScheduledTransactionSummary {
53            id,
54            date_first,
55            date_next,
56            frequency,
57            amount,
58            memo: None,
59            flag_color: None,
60            flag_name: None,
61            account_id,
62            payee_id: None,
63            category_id: None,
64            transfer_account_id: None,
65            deleted,
66        }
67    }
68}
69
70/// 
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum Frequency {
73    #[serde(rename = "never")]
74    Never,
75    #[serde(rename = "daily")]
76    Daily,
77    #[serde(rename = "weekly")]
78    Weekly,
79    #[serde(rename = "everyOtherWeek")]
80    EveryOtherWeek,
81    #[serde(rename = "twiceAMonth")]
82    TwiceAMonth,
83    #[serde(rename = "every4Weeks")]
84    Every4Weeks,
85    #[serde(rename = "monthly")]
86    Monthly,
87    #[serde(rename = "everyOtherMonth")]
88    EveryOtherMonth,
89    #[serde(rename = "every3Months")]
90    Every3Months,
91    #[serde(rename = "every4Months")]
92    Every4Months,
93    #[serde(rename = "twiceAYear")]
94    TwiceAYear,
95    #[serde(rename = "yearly")]
96    Yearly,
97    #[serde(rename = "everyOtherYear")]
98    EveryOtherYear,
99}
100