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<(), Error<AccessError>>;
35
36    /// POST /sends/access
37    async fn access_using_auth(&self) -> Result<(), Error<AccessUsingAuthError>>;
38
39    /// POST /sends/file/validate/azure
40    async fn azure_validate_file(&self) -> Result<(), Error<AzureValidateFileError>>;
41
42    /// DELETE /sends/{id}
43    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error<DeleteError>>;
44
45    /// GET /sends/{id}
46    async fn get<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error<GetError>>;
47
48    /// GET /sends
49    async fn get_all(
50        &self,
51    ) -> Result<models::SendResponseModelListResponseModel, Error<GetAllError>>;
52
53    /// POST /sends/{encodedSendId}/access/file/{fileId}
54    async fn get_send_file_download_data<'a>(
55        &self,
56        encoded_send_id: &'a str,
57        file_id: &'a str,
58        send_access_request_model: Option<models::SendAccessRequestModel>,
59    ) -> Result<(), Error<GetSendFileDownloadDataError>>;
60
61    /// POST /sends/access/file/{fileId}
62    async fn get_send_file_download_data_using_auth<'a>(
63        &self,
64        file_id: &'a str,
65    ) -> Result<(), Error<GetSendFileDownloadDataUsingAuthError>>;
66
67    /// POST /sends
68    async fn post<'a>(
69        &self,
70        send_request_model: Option<models::SendRequestModel>,
71    ) -> Result<models::SendResponseModel, Error<PostError>>;
72
73    /// POST /sends/file/v2
74    async fn post_file<'a>(
75        &self,
76        send_request_model: Option<models::SendRequestModel>,
77    ) -> Result<models::SendFileUploadDataResponseModel, Error<PostFileError>>;
78
79    /// POST /sends/{id}/file/{fileId}
80    async fn post_file_for_existing_send<'a>(
81        &self,
82        id: &'a str,
83        file_id: &'a str,
84    ) -> Result<(), Error<PostFileForExistingSendError>>;
85
86    /// PUT /sends/{id}
87    async fn put<'a>(
88        &self,
89        id: &'a str,
90        send_request_model: Option<models::SendRequestModel>,
91    ) -> Result<models::SendResponseModel, Error<PutError>>;
92
93    /// PUT /sends/{id}/remove-auth
94    async fn put_remove_auth<'a>(
95        &self,
96        id: &'a str,
97    ) -> Result<models::SendResponseModel, Error<PutRemoveAuthError>>;
98
99    /// PUT /sends/{id}/remove-password
100    async fn put_remove_password<'a>(
101        &self,
102        id: &'a str,
103    ) -> Result<models::SendResponseModel, Error<PutRemovePasswordError>>;
104
105    /// GET /sends/{id}/file/{fileId}
106    async fn renew_file_upload<'a>(
107        &self,
108        id: &'a str,
109        file_id: &'a str,
110    ) -> Result<models::SendFileUploadDataResponseModel, Error<RenewFileUploadError>>;
111}
112
113pub struct SendsApiClient {
114    configuration: Arc<configuration::Configuration>,
115}
116
117impl SendsApiClient {
118    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
119        Self { configuration }
120    }
121}
122
123#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
124#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
125impl SendsApi for SendsApiClient {
126    async fn access<'a>(
127        &self,
128        id: &'a str,
129        send_access_request_model: Option<models::SendAccessRequestModel>,
130    ) -> Result<(), Error<AccessError>> {
131        let local_var_configuration = &self.configuration;
132
133        let local_var_client = &local_var_configuration.client;
134
135        let local_var_uri_str = format!(
136            "{}/sends/access/{id}",
137            local_var_configuration.base_path,
138            id = crate::apis::urlencode(id)
139        );
140        let mut local_var_req_builder =
141            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
142
143        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
144        local_var_req_builder = local_var_req_builder.json(&send_access_request_model);
145
146        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
147    }
148
149    async fn access_using_auth(&self) -> Result<(), Error<AccessUsingAuthError>> {
150        let local_var_configuration = &self.configuration;
151
152        let local_var_client = &local_var_configuration.client;
153
154        let local_var_uri_str = format!("{}/sends/access", local_var_configuration.base_path);
155        let mut local_var_req_builder =
156            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
157
158        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
159
160        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
161    }
162
163    async fn azure_validate_file(&self) -> Result<(), Error<AzureValidateFileError>> {
164        let local_var_configuration = &self.configuration;
165
166        let local_var_client = &local_var_configuration.client;
167
168        let local_var_uri_str = format!(
169            "{}/sends/file/validate/azure",
170            local_var_configuration.base_path
171        );
172        let mut local_var_req_builder =
173            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
174
175        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
176
177        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
178    }
179
180    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error<DeleteError>> {
181        let local_var_configuration = &self.configuration;
182
183        let local_var_client = &local_var_configuration.client;
184
185        let local_var_uri_str = format!(
186            "{}/sends/{id}",
187            local_var_configuration.base_path,
188            id = crate::apis::urlencode(id)
189        );
190        let mut local_var_req_builder =
191            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
192
193        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
194
195        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
196    }
197
198    async fn get<'a>(&self, id: &'a str) -> Result<models::SendResponseModel, Error<GetError>> {
199        let local_var_configuration = &self.configuration;
200
201        let local_var_client = &local_var_configuration.client;
202
203        let local_var_uri_str = format!(
204            "{}/sends/{id}",
205            local_var_configuration.base_path,
206            id = crate::apis::urlencode(id)
207        );
208        let mut local_var_req_builder =
209            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
210
211        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
212
213        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
214    }
215
216    async fn get_all(
217        &self,
218    ) -> Result<models::SendResponseModelListResponseModel, Error<GetAllError>> {
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<(), Error<GetSendFileDownloadDataError>> {
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.with_extension(AuthRequired::Bearer);
252        local_var_req_builder = local_var_req_builder.json(&send_access_request_model);
253
254        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
255    }
256
257    async fn get_send_file_download_data_using_auth<'a>(
258        &self,
259        file_id: &'a str,
260    ) -> Result<(), Error<GetSendFileDownloadDataUsingAuthError>> {
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.with_extension(AuthRequired::Bearer);
274
275        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
276    }
277
278    async fn post<'a>(
279        &self,
280        send_request_model: Option<models::SendRequestModel>,
281    ) -> Result<models::SendResponseModel, Error<PostError>> {
282        let local_var_configuration = &self.configuration;
283
284        let local_var_client = &local_var_configuration.client;
285
286        let local_var_uri_str = format!("{}/sends", local_var_configuration.base_path);
287        let mut local_var_req_builder =
288            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
289
290        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
291        local_var_req_builder = local_var_req_builder.json(&send_request_model);
292
293        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
294    }
295
296    async fn post_file<'a>(
297        &self,
298        send_request_model: Option<models::SendRequestModel>,
299    ) -> Result<models::SendFileUploadDataResponseModel, Error<PostFileError>> {
300        let local_var_configuration = &self.configuration;
301
302        let local_var_client = &local_var_configuration.client;
303
304        let local_var_uri_str = format!("{}/sends/file/v2", local_var_configuration.base_path);
305        let mut local_var_req_builder =
306            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
307
308        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
309        local_var_req_builder = local_var_req_builder.json(&send_request_model);
310
311        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
312    }
313
314    async fn post_file_for_existing_send<'a>(
315        &self,
316        id: &'a str,
317        file_id: &'a str,
318    ) -> Result<(), Error<PostFileForExistingSendError>> {
319        let local_var_configuration = &self.configuration;
320
321        let local_var_client = &local_var_configuration.client;
322
323        let local_var_uri_str = format!(
324            "{}/sends/{id}/file/{fileId}",
325            local_var_configuration.base_path,
326            id = crate::apis::urlencode(id),
327            fileId = crate::apis::urlencode(file_id)
328        );
329        let mut local_var_req_builder =
330            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
331
332        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
333
334        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
335    }
336
337    async fn put<'a>(
338        &self,
339        id: &'a str,
340        send_request_model: Option<models::SendRequestModel>,
341    ) -> Result<models::SendResponseModel, Error<PutError>> {
342        let local_var_configuration = &self.configuration;
343
344        let local_var_client = &local_var_configuration.client;
345
346        let local_var_uri_str = format!(
347            "{}/sends/{id}",
348            local_var_configuration.base_path,
349            id = crate::apis::urlencode(id)
350        );
351        let mut local_var_req_builder =
352            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
353
354        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
355        local_var_req_builder = local_var_req_builder.json(&send_request_model);
356
357        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
358    }
359
360    async fn put_remove_auth<'a>(
361        &self,
362        id: &'a str,
363    ) -> Result<models::SendResponseModel, Error<PutRemoveAuthError>> {
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<PutRemovePasswordError>> {
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<RenewFileUploadError>> {
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}
425
426/// struct for typed errors of method [`SendsApi::access`]
427#[derive(Debug, Clone, Serialize, Deserialize)]
428#[serde(untagged)]
429pub enum AccessError {
430    UnknownValue(serde_json::Value),
431}
432/// struct for typed errors of method [`SendsApi::access_using_auth`]
433#[derive(Debug, Clone, Serialize, Deserialize)]
434#[serde(untagged)]
435pub enum AccessUsingAuthError {
436    UnknownValue(serde_json::Value),
437}
438/// struct for typed errors of method [`SendsApi::azure_validate_file`]
439#[derive(Debug, Clone, Serialize, Deserialize)]
440#[serde(untagged)]
441pub enum AzureValidateFileError {
442    UnknownValue(serde_json::Value),
443}
444/// struct for typed errors of method [`SendsApi::delete`]
445#[derive(Debug, Clone, Serialize, Deserialize)]
446#[serde(untagged)]
447pub enum DeleteError {
448    UnknownValue(serde_json::Value),
449}
450/// struct for typed errors of method [`SendsApi::get`]
451#[derive(Debug, Clone, Serialize, Deserialize)]
452#[serde(untagged)]
453pub enum GetError {
454    UnknownValue(serde_json::Value),
455}
456/// struct for typed errors of method [`SendsApi::get_all`]
457#[derive(Debug, Clone, Serialize, Deserialize)]
458#[serde(untagged)]
459pub enum GetAllError {
460    UnknownValue(serde_json::Value),
461}
462/// struct for typed errors of method [`SendsApi::get_send_file_download_data`]
463#[derive(Debug, Clone, Serialize, Deserialize)]
464#[serde(untagged)]
465pub enum GetSendFileDownloadDataError {
466    UnknownValue(serde_json::Value),
467}
468/// struct for typed errors of method [`SendsApi::get_send_file_download_data_using_auth`]
469#[derive(Debug, Clone, Serialize, Deserialize)]
470#[serde(untagged)]
471pub enum GetSendFileDownloadDataUsingAuthError {
472    UnknownValue(serde_json::Value),
473}
474/// struct for typed errors of method [`SendsApi::post`]
475#[derive(Debug, Clone, Serialize, Deserialize)]
476#[serde(untagged)]
477pub enum PostError {
478    UnknownValue(serde_json::Value),
479}
480/// struct for typed errors of method [`SendsApi::post_file`]
481#[derive(Debug, Clone, Serialize, Deserialize)]
482#[serde(untagged)]
483pub enum PostFileError {
484    UnknownValue(serde_json::Value),
485}
486/// struct for typed errors of method [`SendsApi::post_file_for_existing_send`]
487#[derive(Debug, Clone, Serialize, Deserialize)]
488#[serde(untagged)]
489pub enum PostFileForExistingSendError {
490    UnknownValue(serde_json::Value),
491}
492/// struct for typed errors of method [`SendsApi::put`]
493#[derive(Debug, Clone, Serialize, Deserialize)]
494#[serde(untagged)]
495pub enum PutError {
496    UnknownValue(serde_json::Value),
497}
498/// struct for typed errors of method [`SendsApi::put_remove_auth`]
499#[derive(Debug, Clone, Serialize, Deserialize)]
500#[serde(untagged)]
501pub enum PutRemoveAuthError {
502    UnknownValue(serde_json::Value),
503}
504/// struct for typed errors of method [`SendsApi::put_remove_password`]
505#[derive(Debug, Clone, Serialize, Deserialize)]
506#[serde(untagged)]
507pub enum PutRemovePasswordError {
508    UnknownValue(serde_json::Value),
509}
510/// struct for typed errors of method [`SendsApi::renew_file_upload`]
511#[derive(Debug, Clone, Serialize, Deserialize)]
512#[serde(untagged)]
513pub enum RenewFileUploadError {
514    UnknownValue(serde_json::Value),
515}