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