firefly_iii/apis/
attachments_api.rs1use async_trait::async_trait;
12use std::sync::Arc;
13use std::borrow::Borrow;
14#[allow(unused_imports)]
15use std::option::Option;
16
17use reqwest;
18
19use super::{Error, configuration};
20
21pub struct AttachmentsApiClient {
22 configuration: Arc<configuration::Configuration>,
23}
24
25impl AttachmentsApiClient {
26 pub fn new(configuration: Arc<configuration::Configuration>) -> AttachmentsApiClient {
27 AttachmentsApiClient {
28 configuration,
29 }
30 }
31}
32
33#[async_trait]
34pub trait AttachmentsApi {
35 async fn delete_attachment(&self, id: i32) -> Result<(), Error>;
36 async fn download_attachment(&self, id: i32) -> Result<std::path::PathBuf, Error>;
37 async fn get_attachment(&self, id: i32) -> Result<crate::models::AttachmentSingle, Error>;
38 async fn list_attachment(&self, page: Option<i32>) -> Result<crate::models::AttachmentArray, Error>;
39 async fn store_attachment(&self, attachment: crate::models::Attachment) -> Result<crate::models::AttachmentSingle, Error>;
40 async fn update_attachment(&self, id: i32, attachment: crate::models::Attachment) -> Result<crate::models::AttachmentSingle, Error>;
41 async fn upload_attachment(&self, id: i32, body: Option<std::path::PathBuf>) -> Result<(), Error>;
42}
43
44#[async_trait]
45impl AttachmentsApi for AttachmentsApiClient {
46 async fn delete_attachment(&self, id: i32) -> Result<(), Error> {
47 let configuration: &configuration::Configuration = self.configuration.borrow();
48 let client = &configuration.client;
49
50 let uri_str = format!("{}/api/v1/attachments/{id}", configuration.base_path, id=id);
51 let mut req_builder = client.request(::reqwest::Method::DELETE, uri_str.as_str());
52
53 if let Some(ref user_agent) = configuration.user_agent {
54 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
55 }
56 if let Some(ref token) = configuration.oauth_access_token {
57 req_builder = req_builder.bearer_auth(token.to_owned());
58 };
59
60 let req = req_builder.build()?;
62
63 client.execute(req).await?.error_for_status()?;
64 Ok(())
65 }
66
67 async fn download_attachment(&self, id: i32) -> Result<std::path::PathBuf, Error> {
68 let configuration: &configuration::Configuration = self.configuration.borrow();
69 let client = &configuration.client;
70
71 let uri_str = format!("{}/api/v1/attachments/{id}/download", configuration.base_path, id=id);
72 let mut req_builder = client.request(::reqwest::Method::GET, uri_str.as_str());
73
74 if let Some(ref user_agent) = configuration.user_agent {
75 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
76 }
77 if let Some(ref token) = configuration.oauth_access_token {
78 req_builder = req_builder.bearer_auth(token.to_owned());
79 };
80
81 req_builder = req_builder.header(reqwest::header::ACCEPT, "application/json");
83
84 let req = req_builder.build()?;
86
87 Ok(client.execute(req).await?.error_for_status()?.json().await?)
88 }
89
90 async fn get_attachment(&self, id: i32) -> Result<crate::models::AttachmentSingle, Error> {
91 let configuration: &configuration::Configuration = self.configuration.borrow();
92 let client = &configuration.client;
93
94 let uri_str = format!("{}/api/v1/attachments/{id}", configuration.base_path, id=id);
95 let mut req_builder = client.request(::reqwest::Method::GET, uri_str.as_str());
96
97 if let Some(ref user_agent) = configuration.user_agent {
98 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
99 }
100 if let Some(ref token) = configuration.oauth_access_token {
101 req_builder = req_builder.bearer_auth(token.to_owned());
102 };
103
104 req_builder = req_builder.header(reqwest::header::ACCEPT, "application/json");
106
107 let req = req_builder.build()?;
109
110 Ok(client.execute(req).await?.error_for_status()?.json().await?)
111 }
112
113 async fn list_attachment(&self, page: Option<i32>) -> Result<crate::models::AttachmentArray, Error> {
114 let configuration: &configuration::Configuration = self.configuration.borrow();
115 let client = &configuration.client;
116
117 let uri_str = format!("{}/api/v1/attachments", configuration.base_path);
118 let mut req_builder = client.request(::reqwest::Method::GET, uri_str.as_str());
119
120 if let Some(ref s) = page {
121 req_builder = req_builder.query(&[("page", &s.to_string())]);
122 }
123 if let Some(ref user_agent) = configuration.user_agent {
124 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
125 }
126 if let Some(ref token) = configuration.oauth_access_token {
127 req_builder = req_builder.bearer_auth(token.to_owned());
128 };
129
130 req_builder = req_builder.header(reqwest::header::ACCEPT, "application/json");
132
133 let req = req_builder.build()?;
135
136 Ok(client.execute(req).await?.error_for_status()?.json().await?)
137 }
138
139 async fn store_attachment(&self, attachment: crate::models::Attachment) -> Result<crate::models::AttachmentSingle, Error> {
140 let configuration: &configuration::Configuration = self.configuration.borrow();
141 let client = &configuration.client;
142
143 let uri_str = format!("{}/api/v1/attachments", configuration.base_path);
144 let mut req_builder = client.request(::reqwest::Method::POST, uri_str.as_str());
145
146 if let Some(ref user_agent) = configuration.user_agent {
147 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
148 }
149 if let Some(ref token) = configuration.oauth_access_token {
150 req_builder = req_builder.bearer_auth(token.to_owned());
151 };
152 req_builder = req_builder.json(&attachment);
153
154 req_builder = req_builder.header(reqwest::header::ACCEPT, "application/json");
156
157 let req = req_builder.build()?;
159
160 Ok(client.execute(req).await?.error_for_status()?.json().await?)
161 }
162
163 async fn update_attachment(&self, id: i32, attachment: crate::models::Attachment) -> Result<crate::models::AttachmentSingle, Error> {
164 let configuration: &configuration::Configuration = self.configuration.borrow();
165 let client = &configuration.client;
166
167 let uri_str = format!("{}/api/v1/attachments/{id}", configuration.base_path, id=id);
168 let mut req_builder = client.request(::reqwest::Method::PUT, uri_str.as_str());
169
170 if let Some(ref user_agent) = configuration.user_agent {
171 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
172 }
173 if let Some(ref token) = configuration.oauth_access_token {
174 req_builder = req_builder.bearer_auth(token.to_owned());
175 };
176 req_builder = req_builder.json(&attachment);
177
178 req_builder = req_builder.header(reqwest::header::ACCEPT, "application/json");
180
181 let req = req_builder.build()?;
183
184 Ok(client.execute(req).await?.error_for_status()?.json().await?)
185 }
186
187 async fn upload_attachment(&self, id: i32, body: Option<std::path::PathBuf>) -> Result<(), Error> {
188 let configuration: &configuration::Configuration = self.configuration.borrow();
189 let client = &configuration.client;
190
191 let uri_str = format!("{}/api/v1/attachments/{id}/upload", configuration.base_path, id=id);
192 let mut req_builder = client.request(::reqwest::Method::POST, uri_str.as_str());
193
194 if let Some(ref user_agent) = configuration.user_agent {
195 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
196 }
197 if let Some(ref token) = configuration.oauth_access_token {
198 req_builder = req_builder.bearer_auth(token.to_owned());
199 };
200 req_builder = req_builder.json(&body);
201
202 let req = req_builder.build()?;
204
205 client.execute(req).await?.error_for_status()?;
206 Ok(())
207 }
208
209}