ynab_api_async_fork/apis/
payees_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 PayeesApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl PayeesApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> PayeesApiClient {
26 PayeesApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait PayeesApi {
33 fn get_payee_by_id(&self, budget_id: &str, payee_id: &str) -> Result<crate::models::PayeeResponse, Error>;
34 fn get_payees(&self, budget_id: &str, last_knowledge_of_server: Option<i64>) -> Result<crate::models::PayeesResponse, Error>;
35 fn update_payee(&self, budget_id: &str, payee_id: &str, data: crate::models::PatchPayeeWrapper) -> Result<crate::models::SavePayeeResponse, Error>;
36}
37
38impl PayeesApi for PayeesApiClient {
39 fn get_payee_by_id(&self, budget_id: &str, payee_id: &str) -> Result<crate::models::PayeeResponse, Error> {
40 let configuration: &configuration::Configuration = self.configuration.borrow();
41 let client = &configuration.client;
42
43 let uri_str = format!("{}/budgets/{budget_id}/payees/{payee_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), payee_id=crate::apis::urlencode(payee_id));
44 let mut req_builder = client.get(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
53 let req = req_builder.build()?;
55
56 Ok(client.execute(req)?.error_for_status()?.json()?)
57 }
58
59 fn get_payees(&self, budget_id: &str, last_knowledge_of_server: Option<i64>) -> Result<crate::models::PayeesResponse, Error> {
60 let configuration: &configuration::Configuration = self.configuration.borrow();
61 let client = &configuration.client;
62
63 let uri_str = format!("{}/budgets/{budget_id}/payees", configuration.base_path, budget_id=crate::apis::urlencode(budget_id));
64 let mut req_builder = client.get(uri_str.as_str());
65
66 if let Some(ref s) = last_knowledge_of_server {
67 req_builder = req_builder.query(&[("last_knowledge_of_server", &s.to_string())]);
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 update_payee(&self, budget_id: &str, payee_id: &str, data: crate::models::PatchPayeeWrapper) -> Result<crate::models::SavePayeeResponse, Error> {
83 let configuration: &configuration::Configuration = self.configuration.borrow();
84 let client = &configuration.client;
85
86 let uri_str = format!("{}/budgets/{budget_id}/payees/{payee_id}", configuration.base_path, budget_id=crate::apis::urlencode(budget_id), payee_id=crate::apis::urlencode(payee_id));
87 let mut req_builder = client.patch(uri_str.as_str());
88
89 if let Some(ref user_agent) = configuration.user_agent {
90 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
91 }
92 if let Some(ref token) = configuration.bearer_access_token {
93 req_builder = req_builder.bearer_auth(token.to_owned());
94 };
95 req_builder = req_builder.json(&data);
96
97 let req = req_builder.build()?;
99
100 Ok(client.execute(req)?.error_for_status()?.json()?)
101 }
102
103}