ynab_api_async_fork/models/
scheduled_transaction_detail.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ScheduledTransactionDetail {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "date_first")]
20 pub date_first: String,
21 #[serde(rename = "date_next")]
23 pub date_next: String,
24 #[serde(rename = "frequency")]
25 pub frequency: Frequency,
26 #[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 #[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 #[serde(rename = "transfer_account_id", skip_serializing_if = "Option::is_none")]
44 pub transfer_account_id: Option<String>,
45 #[serde(rename = "deleted")]
47 pub deleted: bool,
48 #[serde(rename = "account_name")]
49 pub account_name: String,
50 #[serde(rename = "payee_name", skip_serializing_if = "Option::is_none")]
51 pub payee_name: Option<String>,
52 #[serde(rename = "category_name", skip_serializing_if = "Option::is_none")]
54 pub category_name: Option<String>,
55 #[serde(rename = "subtransactions")]
57 pub subtransactions: Vec<crate::models::ScheduledSubTransaction>,
58}
59
60impl ScheduledTransactionDetail {
61 pub fn new(id: String, date_first: String, date_next: String, frequency: Frequency, amount: i64, account_id: String, deleted: bool, account_name: String, subtransactions: Vec<crate::models::ScheduledSubTransaction>) -> ScheduledTransactionDetail {
62 ScheduledTransactionDetail {
63 id,
64 date_first,
65 date_next,
66 frequency,
67 amount,
68 memo: None,
69 flag_color: None,
70 flag_name: None,
71 account_id,
72 payee_id: None,
73 category_id: None,
74 transfer_account_id: None,
75 deleted,
76 account_name,
77 payee_name: None,
78 category_name: None,
79 subtransactions,
80 }
81 }
82}
83
84#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
86pub enum Frequency {
87 #[serde(rename = "never")]
88 Never,
89 #[serde(rename = "daily")]
90 Daily,
91 #[serde(rename = "weekly")]
92 Weekly,
93 #[serde(rename = "everyOtherWeek")]
94 EveryOtherWeek,
95 #[serde(rename = "twiceAMonth")]
96 TwiceAMonth,
97 #[serde(rename = "every4Weeks")]
98 Every4Weeks,
99 #[serde(rename = "monthly")]
100 Monthly,
101 #[serde(rename = "everyOtherMonth")]
102 EveryOtherMonth,
103 #[serde(rename = "every3Months")]
104 Every3Months,
105 #[serde(rename = "every4Months")]
106 Every4Months,
107 #[serde(rename = "twiceAYear")]
108 TwiceAYear,
109 #[serde(rename = "yearly")]
110 Yearly,
111 #[serde(rename = "everyOtherYear")]
112 EveryOtherYear,
113}
114