Skip to main content

bitwarden_api_api/apis/
sends_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait SendsApi: Send + Sync {
29    /// POST /sends/access/{id}
30    async fn access<'a>(
31        &self,
32        id: &'a str,
33        send_access_request_model: Option<models::SendAccessRequestModel>,
34    ) -> Result<models::SendAccessResponseModel, Error>;
35
36    /// POST /sends/access
37    async fn access_using_auth<'a>(
38        &self,
39        access_token: &'a str,
40    ) -> Result<models::SendAccessResponseModel, Error>;
41
42    /// POST /sends/file/validate/azure
43    async fn azure_validate_file(&self) -> Result<(), Error>;
44
45    /// DELETE /sends/{id}
46    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error>;
47
48    /// GET /sends/{id}
49    async fn get<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error>;
50
51    /// GET /sends
52    async fn get_all(&self) -> Result<models::SendResponseModelListResponseModel, Error>;
53
54    /// POST /sends/{encodedSendId}/access/file/{fileId}
55    async fn get_send_file_download_data<'a>(
56        &self,
57        encoded_send_id: &'a str,
58        file_id: &'a str,
59        send_access_request_model: Option<models::SendAccessRequestModel>,
60    ) -> Result<models::SendFileDownloadDataResponseModel, Error>;
61
62    /// POST /sends/access/file/{fileId}
63    async fn get_send_file_download_data_using_auth<'a>(
64        &self,
65        file_id: &'a str,
66        access_token: &'a str,
67    ) -> Result<models::SendFileDownloadDataResponseModel, Error>;
68
69    /// POST /sends
70    async fn post<'a>(
71        &self,
72        send_request_model: Option<models::SendRequestModel>,
73    ) -> Result<models::SendResponseModel, Error>;
74
75    /// POST /sends/file/v2
76    async fn post_file<'a>(
77        &self,
78        send_request_model: Option<models::SendRequestModel>,
79    ) -> Result<models::SendFileUploadDataResponseModel, Error>;
80
81    /// POST /sends/{id}/file/{fileId}
82    async fn post_file_for_existing_send<'a>(
83        &self,
84        id: &'a str,
85        file_id: &'a str,
86    ) -> Result<(), Error>;
87
88    /// PUT /sends/{id}
89    async fn put<'a>(
90        &self,
91        id: &'a str,
92        send_request_model: Option<models::SendRequestModel>,
93    ) -> Result<models::SendResponseModel, Error>;
94
95    /// PUT /sends/{id}/remove-auth
96    async fn put_remove_auth<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error>;
97
98    /// PUT /sends/{id}/remove-password
99    async fn put_remove_password<'a>(
100        &self,
101        id: &'a str,
102    ) -> Result<models::SendResponseModel, Error>;
103
104    /// GET /sends/{id}/file/{fileId}
105    async fn renew_file_upload<'a>(
106        &self,
107        id: &'a str,
108        file_id: &'a str,
109    ) -> Result<models::SendFileUploadDataResponseModel, Error>;
110}
111
112pub struct SendsApiClient {
113    configuration: Arc<configuration::Configuration>,
114}
115
116impl SendsApiClient {
117    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
118        Self { configuration }
119    }
120}
121
122#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
123#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
124impl SendsApi for SendsApiClient {
125    async fn access<'a>(
126        &self,
127        id: &'a str,
128        send_access_request_model: Option<models::SendAccessRequestModel>,
129    ) -> Result<models::SendAccessResponseModel, Error> {
130        let local_var_configuration = &self.configuration;
131
132        let local_var_client = &local_var_configuration.client;
133
134        let local_var_uri_str = format!(
135            "{}/sends/access/{id}",
136            local_var_configuration.base_path,
137            id = crate::apis::urlencode(id)
138        );
139        let mut local_var_req_builder =
140            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
141
142        local_var_req_builder = local_var_req_builder.json(&send_access_request_model);
143
144        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
145    }
146
147    async fn access_using_auth<'a>(
148        &self,
149        access_token: &'a str,
150    ) -> Result<models::SendAccessResponseModel, Error> {
151        let local_var_configuration = &self.configuration;
152
153        let local_var_client = &local_var_configuration.client;
154
155        let local_var_uri_str = format!("{}/sends/access", local_var_configuration.base_path);
156        let mut local_var_req_builder =
157            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
158
159        local_var_req_builder = local_var_req_builder.header(
160            reqwest::header::AUTHORIZATION,
161            format!("Bearer {}", access_token),
162        );
163
164        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
165    }
166
167    async fn azure_validate_file(&self) -> Result<(), Error> {
168        let local_var_configuration = &self.configuration;
169
170        let local_var_client = &local_var_configuration.client;
171
172        let local_var_uri_str = format!(
173            "{}/sends/file/validate/azure",
174            local_var_configuration.base_path
175        );
176        let mut local_var_req_builder =
177            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
178
179        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
180    }
181
182    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error> {
183        let local_var_configuration = &self.configuration;
184
185        let local_var_client = &local_var_configuration.client;
186
187        let local_var_uri_str = format!(
188            "{}/sends/{id}",
189            local_var_configuration.base_path,
190            id = crate::apis::urlencode(id)
191        );
192        let mut local_var_req_builder =
193            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
194
195        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
196
197        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
198    }
199
200    async fn get<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error> {
201        let local_var_configuration = &self.configuration;
202
203        let local_var_client = &local_var_configuration.client;
204
205        let local_var_uri_str = format!(
206            "{}/sends/{id}",
207            local_var_configuration.base_path,
208            id = crate::apis::urlencode(id)
209        );
210        let mut local_var_req_builder =
211            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
212
213        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
214
215        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
216    }
217
218    async fn get_all(&self) -> Result<models::SendResponseModelListResponseModel, Error> {
219        let local_var_configuration = &self.configuration;
220
221        let local_var_client = &local_var_configuration.client;
222
223        let local_var_uri_str = format!("{}/sends", local_var_configuration.base_path);
224        let mut local_var_req_builder =
225            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
226
227        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
228
229        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
230    }
231
232    async fn get_send_file_download_data<'a>(
233        &self,
234        encoded_send_id: &'a str,
235        file_id: &'a str,
236        send_access_request_model: Option<models::SendAccessRequestModel>,
237    ) -> Result<models::SendFileDownloadDataResponseModel, Error> {
238        let local_var_configuration = &self.configuration;
239
240        let local_var_client = &local_var_configuration.client;
241
242        let local_var_uri_str = format!(
243            "{}/sends/{encodedSendId}/access/file/{fileId}",
244            local_var_configuration.base_path,
245            encodedSendId = crate::apis::urlencode(encoded_send_id),
246            fileId = crate::apis::urlencode(file_id)
247        );
248        let mut local_var_req_builder =
249            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
250
251        local_var_req_builder = local_var_req_builder.json(&send_access_request_model);
252
253        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
254    }
255
256    async fn get_send_file_download_data_using_auth<'a>(
257        &self,
258        file_id: &'a str,
259        access_token: &'a str,
260    ) -> Result<models::SendFileDownloadDataResponseModel, Error> {
261        let local_var_configuration = &self.configuration;
262
263        let local_var_client = &local_var_configuration.client;
264
265        let local_var_uri_str = format!(
266            "{}/sends/access/file/{fileId}",
267            local_var_configuration.base_path,
268            fileId = crate::apis::urlencode(file_id)
269        );
270        let mut local_var_req_builder =
271            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
272
273        local_var_req_builder = local_var_req_builder.header(
274            reqwest::header::AUTHORIZATION,
275            format!("Bearer {}", access_token),
276        );
277
278        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
279    }
280
281    async fn post<'a>(
282        &self,
283        send_request_model: Option<models::SendRequestModel>,
284    ) -> Result<models::SendResponseModel, Error> {
285        let local_var_configuration = &self.configuration;
286
287        let local_var_client = &local_var_configuration.client;
288
289        let local_var_uri_str = format!("{}/sends", local_var_configuration.base_path);
290        let mut local_var_req_builder =
291            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
292
293        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
294        local_var_req_builder = local_var_req_builder.json(&send_request_model);
295
296        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
297    }
298
299    async fn post_file<'a>(
300        &self,
301        send_request_model: Option<models::SendRequestModel>,
302    ) -> Result<models::SendFileUploadDataResponseModel, Error> {
303        let local_var_configuration = &self.configuration;
304
305        let local_var_client = &local_var_configuration.client;
306
307        let local_var_uri_str = format!("{}/sends/file/v2", local_var_configuration.base_path);
308        let mut local_var_req_builder =
309            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
310
311        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
312        local_var_req_builder = local_var_req_builder.json(&send_request_model);
313
314        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
315    }
316
317    async fn post_file_for_existing_send<'a>(
318        &self,
319        id: &'a str,
320        file_id: &'a str,
321    ) -> Result<(), Error> {
322        let local_var_configuration = &self.configuration;
323
324        let local_var_client = &local_var_configuration.client;
325
326        let local_var_uri_str = format!(
327            "{}/sends/{id}/file/{fileId}",
328            local_var_configuration.base_path,
329            id = crate::apis::urlencode(id),
330            fileId = crate::apis::urlencode(file_id)
331        );
332        let mut local_var_req_builder =
333            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
334
335        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
336
337        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
338    }
339
340    async fn put<'a>(
341        &self,
342        id: &'a str,
343        send_request_model: Option<models::SendRequestModel>,
344    ) -> Result<models::SendResponseModel, Error> {
345        let local_var_configuration = &self.configuration;
346
347        let local_var_client = &local_var_configuration.client;
348
349        let local_var_uri_str = format!(
350            "{}/sends/{id}",
351            local_var_configuration.base_path,
352            id = crate::apis::urlencode(id)
353        );
354        let mut local_var_req_builder =
355            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
356
357        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
358        local_var_req_builder = local_var_req_builder.json(&send_request_model);
359
360        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
361    }
362
363    async fn put_remove_auth<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error> {
364        let local_var_configuration = &self.configuration;
365
366        let local_var_client = &local_var_configuration.client;
367
368        let local_var_uri_str = format!(
369            "{}/sends/{id}/remove-auth",
370            local_var_configuration.base_path,
371            id = crate::apis::urlencode(id)
372        );
373        let mut local_var_req_builder =
374            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
375
376        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
377
378        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
379    }
380
381    async fn put_remove_password<'a>(
382        &self,
383        id: &'a str,
384    ) -> Result<models::SendResponseModel, Error> {
385        let local_var_configuration = &self.configuration;
386
387        let local_var_client = &local_var_configuration.client;
388
389        let local_var_uri_str = format!(
390            "{}/sends/{id}/remove-password",
391            local_var_configuration.base_path,
392            id = crate::apis::urlencode(id)
393        );
394        let mut local_var_req_builder =
395            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
396
397        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
398
399        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
400    }
401
402    async fn renew_file_upload<'a>(
403        &self,
404        id: &'a str,
405        file_id: &'a str,
406    ) -> Result<models::SendFileUploadDataResponseModel, Error> {
407        let local_var_configuration = &self.configuration;
408
409        let local_var_client = &local_var_configuration.client;
410
411        let local_var_uri_str = format!(
412            "{}/sends/{id}/file/{fileId}",
413            local_var_configuration.base_path,
414            id = crate::apis::urlencode(id),
415            fileId = crate::apis::urlencode(file_id)
416        );
417        let mut local_var_req_builder =
418            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
419
420        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
421
422        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
423    }
424}