ynab_api_async_fork/apis/
transactions_api.rs1use std::rc::Rc;
12use std::borrow::Borrow;
13#[allow(unused_imports)]
14use std::option::Option;
15
16use reqwest;
17
18use super::{Error, configuration};
19
20pub struct TransactionsApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl TransactionsApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> TransactionsApiClient {
26 TransactionsApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait TransactionsApi {
33 fn create_transaction(&self, budget_id: &str, data: crate::models::PostTransactionsWrapper) -> Result<crate::models::SaveTransactionsResponse, Error>;
34 fn delete_transaction(&self, budget_id: &str, transaction_id: &str) -> Result<crate::models::TransactionResponse, Error>;
35 fn get_transaction_by_id(&self, budget_id: &str, transaction_id: &str) -> Result<crate::models::TransactionResponse, Error>;
36 fn get_transactions(&self, budget_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::TransactionsResponse, Error>;
37 fn get_transactions_by_account(&self, budget_id: &str, account_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::TransactionsResponse, Error>;
38 fn get_transactions_by_category(&self, budget_id: &str, category_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error>;
39 fn get_transactions_by_month(&self, budget_id: &str, month: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error>;
40 fn get_transactions_by_payee(&self, budget_id: &str, payee_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error>;
41 fn import_transactions(&self, budget_id: &str) -> Result<crate::models::TransactionsImportResponse, Error>;
42 fn update_transaction(&self, budget_id: &str, transaction_id: &str, data: crate::models::PutTransactionWrapper) -> Result<crate::models::TransactionResponse, Error>;
43 fn update_transactions(&self, budget_id: &str, data: crate::models::PatchTransactionsWrapper) -> Result<crate::models::SaveTransactionsResponse, Error>;
44}
45
46impl TransactionsApi for TransactionsApiClient {
47 fn create_transaction(&self, budget_id: &str, data: crate::models::PostTransactionsWrapper) -> Result<crate::models::SaveTransactionsResponse, Error> {
48 let configuration: &configuration::Configuration = self.configuration.borrow();
49 let client = &configuration.client;
50
51 let uri_str = format!("{}/budgets/{budget_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
52 let mut req_builder = client.post(uri_str.as_str());
53
54 if let Some(ref user_agent) = configuration.user_agent {
55 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
56 }
57 if let Some(ref token) = configuration.bearer_access_token {
58 req_builder = req_builder.bearer_auth(token.to_owned());
59 };
60 req_builder = req_builder.json(&data);
61
62 let req = req_builder.build()?;
64
65 Ok(client.execute(req)?.error_for_status()?.json()?)
66 }
67
68 fn delete_transaction(&self, budget_id: &str, transaction_id: &str) -> Result<crate::models::TransactionResponse, Error> {
69 let configuration: &configuration::Configuration = self.configuration.borrow();
70 let client = &configuration.client;
71
72 let uri_str = format!("{}/budgets/{budget_id}/transactions/{transaction_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), transaction_id=crate::apis::urlencode(transaction_id));
73 let mut req_builder = client.delete(uri_str.as_str());
74
75 if let Some(ref user_agent) = configuration.user_agent {
76 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
77 }
78 if let Some(ref token) = configuration.bearer_access_token {
79 req_builder = req_builder.bearer_auth(token.to_owned());
80 };
81
82 let req = req_builder.build()?;
84
85 Ok(client.execute(req)?.error_for_status()?.json()?)
86 }
87
88 fn get_transaction_by_id(&self, budget_id: &str, transaction_id: &str) -> Result<crate::models::TransactionResponse, Error> {
89 let configuration: &configuration::Configuration = self.configuration.borrow();
90 let client = &configuration.client;
91
92 let uri_str = format!("{}/budgets/{budget_id}/transactions/{transaction_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), transaction_id=crate::apis::urlencode(transaction_id));
93 let mut req_builder = client.get(uri_str.as_str());
94
95 if let Some(ref user_agent) = configuration.user_agent {
96 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
97 }
98 if let Some(ref token) = configuration.bearer_access_token {
99 req_builder = req_builder.bearer_auth(token.to_owned());
100 };
101
102 let req = req_builder.build()?;
104
105 Ok(client.execute(req)?.error_for_status()?.json()?)
106 }
107
108 fn get_transactions(&self, budget_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::TransactionsResponse, Error> {
109 let configuration: &configuration::Configuration = self.configuration.borrow();
110 let client = &configuration.client;
111
112 let uri_str = format!("{}/budgets/{budget_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
113 let mut req_builder = client.get(uri_str.as_str());
114
115 if let Some(ref s) = since_date {
116 req_builder = req_builder.query(&[("since_date", &s.to_string())]);
117 }
118 if let Some(ref s) = _type {
119 req_builder = req_builder.query(&[("type", &s.to_string())]);
120 }
121 if let Some(ref s) = last_knowledge_of_server {
122 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
123 }
124 if let Some(ref user_agent) = configuration.user_agent {
125 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
126 }
127 if let Some(ref token) = configuration.bearer_access_token {
128 req_builder = req_builder.bearer_auth(token.to_owned());
129 };
130
131 let req = req_builder.build()?;
133
134 Ok(client.execute(req)?.error_for_status()?.json()?)
135 }
136
137 fn get_transactions_by_account(&self, budget_id: &str, account_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::TransactionsResponse, Error> {
138 let configuration: &configuration::Configuration = self.configuration.borrow();
139 let client = &configuration.client;
140
141 let uri_str = format!("{}/budgets/{budget_id}/accounts/{account_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), account_id=crate::apis::urlencode(account_id));
142 let mut req_builder = client.get(uri_str.as_str());
143
144 if let Some(ref s) = since_date {
145 req_builder = req_builder.query(&[("since_date", &s.to_string())]);
146 }
147 if let Some(ref s) = _type {
148 req_builder = req_builder.query(&[("type", &s.to_string())]);
149 }
150 if let Some(ref s) = last_knowledge_of_server {
151 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
152 }
153 if let Some(ref user_agent) = configuration.user_agent {
154 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
155 }
156 if let Some(ref token) = configuration.bearer_access_token {
157 req_builder = req_builder.bearer_auth(token.to_owned());
158 };
159
160 let req = req_builder.build()?;
162
163 Ok(client.execute(req)?.error_for_status()?.json()?)
164 }
165
166 fn get_transactions_by_category(&self, budget_id: &str, category_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error> {
167 let configuration: &configuration::Configuration = self.configuration.borrow();
168 let client = &configuration.client;
169
170 let uri_str = format!("{}/budgets/{budget_id}/categories/{category_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), category_id=crate::apis::urlencode(category_id));
171 let mut req_builder = client.get(uri_str.as_str());
172
173 if let Some(ref s) = since_date {
174 req_builder = req_builder.query(&[("since_date", &s.to_string())]);
175 }
176 if let Some(ref s) = _type {
177 req_builder = req_builder.query(&[("type", &s.to_string())]);
178 }
179 if let Some(ref s) = last_knowledge_of_server {
180 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
181 }
182 if let Some(ref user_agent) = configuration.user_agent {
183 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
184 }
185 if let Some(ref token) = configuration.bearer_access_token {
186 req_builder = req_builder.bearer_auth(token.to_owned());
187 };
188
189 let req = req_builder.build()?;
191
192 Ok(client.execute(req)?.error_for_status()?.json()?)
193 }
194
195 fn get_transactions_by_month(&self, budget_id: &str, month: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error> {
196 let configuration: &configuration::Configuration = self.configuration.borrow();
197 let client = &configuration.client;
198
199 let uri_str = format!("{}/budgets/{budget_id}/months/{month}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), month=crate::apis::urlencode(month));
200 let mut req_builder = client.get(uri_str.as_str());
201
202 if let Some(ref s) = since_date {
203 req_builder = req_builder.query(&[("since_date", &s.to_string())]);
204 }
205 if let Some(ref s) = _type {
206 req_builder = req_builder.query(&[("type", &s.to_string())]);
207 }
208 if let Some(ref s) = last_knowledge_of_server {
209 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
210 }
211 if let Some(ref user_agent) = configuration.user_agent {
212 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
213 }
214 if let Some(ref token) = configuration.bearer_access_token {
215 req_builder = req_builder.bearer_auth(token.to_owned());
216 };
217
218 let req = req_builder.build()?;
220
221 Ok(client.execute(req)?.error_for_status()?.json()?)
222 }
223
224 fn get_transactions_by_payee(&self, budget_id: &str, payee_id: &str, since_date: Option<String>, _type: Option<&str>, last_knowledge_of_server: Option<i64>) -> Result<crate::models::HybridTransactionsResponse, Error> {
225 let configuration: &configuration::Configuration = self.configuration.borrow();
226 let client = &configuration.client;
227
228 let uri_str = format!("{}/budgets/{budget_id}/payees/{payee_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), payee_id=crate::apis::urlencode(payee_id));
229 let mut req_builder = client.get(uri_str.as_str());
230
231 if let Some(ref s) = since_date {
232 req_builder = req_builder.query(&[("since_date", &s.to_string())]);
233 }
234 if let Some(ref s) = _type {
235 req_builder = req_builder.query(&[("type", &s.to_string())]);
236 }
237 if let Some(ref s) = last_knowledge_of_server {
238 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
239 }
240 if let Some(ref user_agent) = configuration.user_agent {
241 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
242 }
243 if let Some(ref token) = configuration.bearer_access_token {
244 req_builder = req_builder.bearer_auth(token.to_owned());
245 };
246
247 let req = req_builder.build()?;
249
250 Ok(client.execute(req)?.error_for_status()?.json()?)
251 }
252
253 fn import_transactions(&self, budget_id: &str) -> Result<crate::models::TransactionsImportResponse, Error> {
254 let configuration: &configuration::Configuration = self.configuration.borrow();
255 let client = &configuration.client;
256
257 let uri_str = format!("{}/budgets/{budget_id}/transactions/import", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
258 let mut req_builder = client.post(uri_str.as_str());
259
260 if let Some(ref user_agent) = configuration.user_agent {
261 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
262 }
263 if let Some(ref token) = configuration.bearer_access_token {
264 req_builder = req_builder.bearer_auth(token.to_owned());
265 };
266
267 let req = req_builder.build()?;
269
270 Ok(client.execute(req)?.error_for_status()?.json()?)
271 }
272
273 fn update_transaction(&self, budget_id: &str, transaction_id: &str, data: crate::models::PutTransactionWrapper) -> Result<crate::models::TransactionResponse, Error> {
274 let configuration: &configuration::Configuration = self.configuration.borrow();
275 let client = &configuration.client;
276
277 let uri_str = format!("{}/budgets/{budget_id}/transactions/{transaction_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), transaction_id=crate::apis::urlencode(transaction_id));
278 let mut req_builder = client.put(uri_str.as_str());
279
280 if let Some(ref user_agent) = configuration.user_agent {
281 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
282 }
283 if let Some(ref token) = configuration.bearer_access_token {
284 req_builder = req_builder.bearer_auth(token.to_owned());
285 };
286 req_builder = req_builder.json(&data);
287
288 let req = req_builder.build()?;
290
291 Ok(client.execute(req)?.error_for_status()?.json()?)
292 }
293
294 fn update_transactions(&self, budget_id: &str, data: crate::models::PatchTransactionsWrapper) -> Result<crate::models::SaveTransactionsResponse, Error> {
295 let configuration: &configuration::Configuration = self.configuration.borrow();
296 let client = &configuration.client;
297
298 let uri_str = format!("{}/budgets/{budget_id}/transactions", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
299 let mut req_builder = client.patch(uri_str.as_str());
300
301 if let Some(ref user_agent) = configuration.user_agent {
302 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
303 }
304 if let Some(ref token) = configuration.bearer_access_token {
305 req_builder = req_builder.bearer_auth(token.to_owned());
306 };
307 req_builder = req_builder.json(&data);
308
309 let req = req_builder.build()?;
311
312 Ok(client.execute(req)?.error_for_status()?.json()?)
313 }
314
315}