ynab_api_async_fork/models/
transaction_detail.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TransactionDetail {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "date")]
20 pub date: String,
21 #[serde(rename = "amount")]
23 pub amount: i64,
24 #[serde(rename = "memo", skip_serializing_if = "Option::is_none")]
25 pub memo: Option<String>,
26 #[serde(rename = "cleared")]
27 pub cleared: crate::models::TransactionClearedStatus,
28 #[serde(rename = "approved")]
30 pub approved: bool,
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 = "transfer_transaction_id", skip_serializing_if = "Option::is_none")]
47 pub transfer_transaction_id: Option<String>,
48 #[serde(rename = "matched_transaction_id", skip_serializing_if = "Option::is_none")]
50 pub matched_transaction_id: Option<String>,
51 #[serde(rename = "import_id", skip_serializing_if = "Option::is_none")]
53 pub import_id: Option<String>,
54 #[serde(rename = "import_payee_name", skip_serializing_if = "Option::is_none")]
56 pub import_payee_name: Option<String>,
57 #[serde(rename = "import_payee_name_original", skip_serializing_if = "Option::is_none")]
59 pub import_payee_name_original: Option<String>,
60 #[serde(rename = "debt_transaction_type", skip_serializing_if = "Option::is_none")]
62 pub debt_transaction_type: Option<DebtTransactionType>,
63 #[serde(rename = "deleted")]
65 pub deleted: bool,
66 #[serde(rename = "account_name")]
67 pub account_name: String,
68 #[serde(rename = "payee_name", skip_serializing_if = "Option::is_none")]
69 pub payee_name: Option<String>,
70 #[serde(rename = "category_name", skip_serializing_if = "Option::is_none")]
72 pub category_name: Option<String>,
73 #[serde(rename = "subtransactions")]
75 pub subtransactions: Vec<crate::models::SubTransaction>,
76}
77
78impl TransactionDetail {
79 pub fn new(id: String, date: String, amount: i64, cleared: crate::models::TransactionClearedStatus, approved: bool, account_id: String, deleted: bool, account_name: String, subtransactions: Vec<crate::models::SubTransaction>) -> TransactionDetail {
80 TransactionDetail {
81 id,
82 date,
83 amount,
84 memo: None,
85 cleared,
86 approved,
87 flag_color: None,
88 flag_name: None,
89 account_id,
90 payee_id: None,
91 category_id: None,
92 transfer_account_id: None,
93 transfer_transaction_id: None,
94 matched_transaction_id: None,
95 import_id: None,
96 import_payee_name: None,
97 import_payee_name_original: None,
98 debt_transaction_type: None,
99 deleted,
100 account_name,
101 payee_name: None,
102 category_name: None,
103 subtransactions,
104 }
105 }
106}
107
108#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
110pub enum DebtTransactionType {
111 #[serde(rename = "payment")]
112 Payment,
113 #[serde(rename = "refund")]
114 Refund,
115 #[serde(rename = "fee")]
116 Fee,
117 #[serde(rename = "interest")]
118 Interest,
119 #[serde(rename = "escrow")]
120 Escrow,
121 #[serde(rename = "balanceAdjustment")]
122 BalanceAdjustment,
123 #[serde(rename = "credit")]
124 Credit,
125 #[serde(rename = "charge")]
126 Charge,
127 #[serde(rename = "null")]
128 Null,
129}
130