ynab_api_async_fork/apis/
accounts_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 AccountsApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl AccountsApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> AccountsApiClient {
26 AccountsApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait AccountsApi {
33 fn create_account(&self, budget_id: &str, data: crate::models::PostAccountWrapper) -> Result<crate::models::AccountResponse, Error>;
34 fn get_account_by_id(&self, budget_id: &str, account_id: &str) -> Result<crate::models::AccountResponse, Error>;
35 fn get_accounts(&self, budget_id: &str, last_knowledge_of_server: Option<i64>) -> Result<crate::models::AccountsResponse, Error>;
36}
37
38impl AccountsApi for AccountsApiClient {
39 fn create_account(&self, budget_id: &str, data: crate::models::PostAccountWrapper) -> Result<crate::models::AccountResponse, Error> {
40 let configuration: &configuration::Configuration = self.configuration.borrow();
41 let client = &configuration.client;
42
43 let uri_str = format!("{}/budgets/{budget_id}/accounts", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
44 let mut req_builder = client.post(uri_str.as_str());
45
46 if let Some(ref user_agent) = configuration.user_agent {
47 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
48 }
49 if let Some(ref token) = configuration.bearer_access_token {
50 req_builder = req_builder.bearer_auth(token.to_owned());
51 };
52 req_builder = req_builder.json(&data);
53
54 let req = req_builder.build()?;
56
57 Ok(client.execute(req)?.error_for_status()?.json()?)
58 }
59
60 fn get_account_by_id(&self, budget_id: &str, account_id: &str) -> Result<crate::models::AccountResponse, Error> {
61 let configuration: &configuration::Configuration = self.configuration.borrow();
62 let client = &configuration.client;
63
64 let uri_str = format!("{}/budgets/{budget_id}/accounts/{account_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), account_id=account_id);
65 let mut req_builder = client.get(uri_str.as_str());
66
67 if let Some(ref user_agent) = configuration.user_agent {
68 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
69 }
70 if let Some(ref token) = configuration.bearer_access_token {
71 req_builder = req_builder.bearer_auth(token.to_owned());
72 };
73
74 let req = req_builder.build()?;
76
77 Ok(client.execute(req)?.error_for_status()?.json()?)
78 }
79
80 fn get_accounts(&self, budget_id: &str, last_knowledge_of_server: Option<i64>) -> Result<crate::models::AccountsResponse, Error> {
81 let configuration: &configuration::Configuration = self.configuration.borrow();
82 let client = &configuration.client;
83
84 let uri_str = format!("{}/budgets/{budget_id}/accounts", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
85 let mut req_builder = client.get(uri_str.as_str());
86
87 if let Some(ref s) = last_knowledge_of_server {
88 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
89 }
90 if let Some(ref user_agent) = configuration.user_agent {
91 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
92 }
93 if let Some(ref token) = configuration.bearer_access_token {
94 req_builder = req_builder.bearer_auth(token.to_owned());
95 };
96
97 let req = req_builder.build()?;
99
100 Ok(client.execute(req)?.error_for_status()?.json()?)
101 }
102
103}