Skip to main content

bitwarden_api_api/apis/
collections_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 CollectionsApi: Send + Sync {
29    /// DELETE /organizations/{orgId}/collections/{id}
30    async fn delete<'a>(
31        &self,
32        org_id: uuid::Uuid,
33        id: &'a str,
34        collection: Option<models::Collection>,
35    ) -> Result<(), Error>;
36
37    /// DELETE /organizations/{orgId}/collections
38    async fn delete_many<'a>(
39        &self,
40        org_id: uuid::Uuid,
41        collection_bulk_delete_request_model: Option<models::CollectionBulkDeleteRequestModel>,
42    ) -> Result<(), Error>;
43
44    /// GET /organizations/{orgId}/collections/{id}
45    async fn get<'a>(
46        &self,
47        org_id: uuid::Uuid,
48        id: &'a str,
49        collection: Option<models::Collection>,
50    ) -> Result<models::CollectionResponseModel, Error>;
51
52    /// GET /organizations/{orgId}/collections
53    async fn get_all<'a>(
54        &self,
55        org_id: uuid::Uuid,
56    ) -> Result<models::CollectionResponseModelListResponseModel, Error>;
57
58    /// GET /organizations/{orgId}/collections/access
59    async fn get_all_with_access<'a>(
60        &self,
61        org_id: uuid::Uuid,
62    ) -> Result<models::CollectionAccessDetailsResponseModelListResponseModel, Error>;
63
64    /// GET /organizations/{orgId}/collections/{id}/details
65    async fn get_details<'a>(
66        &self,
67        org_id: uuid::Uuid,
68        id: uuid::Uuid,
69    ) -> Result<models::CollectionAccessDetailsResponseModel, Error>;
70
71    /// GET /organizations/{orgId}/collections/details
72    async fn get_many_with_details<'a>(
73        &self,
74        org_id: uuid::Uuid,
75    ) -> Result<models::CollectionAccessDetailsResponseModelListResponseModel, Error>;
76
77    /// GET /collections
78    async fn get_user(
79        &self,
80    ) -> Result<models::CollectionDetailsResponseModelListResponseModel, Error>;
81
82    /// GET /organizations/{orgId}/collections/{id}/users
83    async fn get_users<'a>(
84        &self,
85        org_id: uuid::Uuid,
86        id: &'a str,
87        collection: Option<models::Collection>,
88    ) -> Result<Vec<models::SelectionReadOnlyResponseModel>, Error>;
89
90    /// POST /organizations/{orgId}/collections
91    async fn post<'a>(
92        &self,
93        org_id: uuid::Uuid,
94        create_collection_request_model: Option<models::CreateCollectionRequestModel>,
95    ) -> Result<models::CollectionResponseModel, Error>;
96
97    /// POST /organizations/{orgId}/collections/bulk-access
98    async fn post_bulk_collection_access<'a>(
99        &self,
100        org_id: uuid::Uuid,
101        bulk_collection_access_request_model: Option<models::BulkCollectionAccessRequestModel>,
102    ) -> Result<(), Error>;
103
104    /// PUT /organizations/{orgId}/collections/{id}
105    async fn put<'a>(
106        &self,
107        org_id: uuid::Uuid,
108        id: &'a str,
109        collection: Option<models::Collection>,
110        update_collection_request_model: Option<models::UpdateCollectionRequestModel>,
111    ) -> Result<models::CollectionResponseModel, Error>;
112}
113
114pub struct CollectionsApiClient {
115    configuration: Arc<configuration::Configuration>,
116}
117
118impl CollectionsApiClient {
119    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
120        Self { configuration }
121    }
122}
123
124#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
125#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
126impl CollectionsApi for CollectionsApiClient {
127    async fn delete<'a>(
128        &self,
129        org_id: uuid::Uuid,
130        id: &'a str,
131        collection: Option<models::Collection>,
132    ) -> Result<(), Error> {
133        let local_var_configuration = &self.configuration;
134
135        let local_var_client = &local_var_configuration.client;
136
137        let local_var_uri_str = format!(
138            "{}/organizations/{orgId}/collections/{id}",
139            local_var_configuration.base_path,
140            orgId = org_id,
141            id = crate::apis::urlencode(id)
142        );
143        let mut local_var_req_builder =
144            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
145
146        if let Some(ref param_value) = collection {
147            local_var_req_builder =
148                local_var_req_builder.query(&[("collection", &serde_json::to_value(param_value)?)]);
149        }
150        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
151
152        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
153    }
154
155    async fn delete_many<'a>(
156        &self,
157        org_id: uuid::Uuid,
158        collection_bulk_delete_request_model: Option<models::CollectionBulkDeleteRequestModel>,
159    ) -> Result<(), Error> {
160        let local_var_configuration = &self.configuration;
161
162        let local_var_client = &local_var_configuration.client;
163
164        let local_var_uri_str = format!(
165            "{}/organizations/{orgId}/collections",
166            local_var_configuration.base_path,
167            orgId = org_id
168        );
169        let mut local_var_req_builder =
170            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
171
172        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
173        local_var_req_builder = local_var_req_builder.json(&collection_bulk_delete_request_model);
174
175        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
176    }
177
178    async fn get<'a>(
179        &self,
180        org_id: uuid::Uuid,
181        id: &'a str,
182        collection: Option<models::Collection>,
183    ) -> Result<models::CollectionResponseModel, Error> {
184        let local_var_configuration = &self.configuration;
185
186        let local_var_client = &local_var_configuration.client;
187
188        let local_var_uri_str = format!(
189            "{}/organizations/{orgId}/collections/{id}",
190            local_var_configuration.base_path,
191            orgId = org_id,
192            id = crate::apis::urlencode(id)
193        );
194        let mut local_var_req_builder =
195            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
196
197        if let Some(ref param_value) = collection {
198            local_var_req_builder =
199                local_var_req_builder.query(&[("collection", &serde_json::to_value(param_value)?)]);
200        }
201        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
202
203        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
204    }
205
206    async fn get_all<'a>(
207        &self,
208        org_id: uuid::Uuid,
209    ) -> Result<models::CollectionResponseModelListResponseModel, Error> {
210        let local_var_configuration = &self.configuration;
211
212        let local_var_client = &local_var_configuration.client;
213
214        let local_var_uri_str = format!(
215            "{}/organizations/{orgId}/collections",
216            local_var_configuration.base_path,
217            orgId = org_id
218        );
219        let mut local_var_req_builder =
220            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
221
222        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
223
224        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
225    }
226
227    async fn get_all_with_access<'a>(
228        &self,
229        org_id: uuid::Uuid,
230    ) -> Result<models::CollectionAccessDetailsResponseModelListResponseModel, Error> {
231        let local_var_configuration = &self.configuration;
232
233        let local_var_client = &local_var_configuration.client;
234
235        let local_var_uri_str = format!(
236            "{}/organizations/{orgId}/collections/access",
237            local_var_configuration.base_path,
238            orgId = org_id
239        );
240        let mut local_var_req_builder =
241            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
242
243        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
244
245        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
246    }
247
248    async fn get_details<'a>(
249        &self,
250        org_id: uuid::Uuid,
251        id: uuid::Uuid,
252    ) -> Result<models::CollectionAccessDetailsResponseModel, Error> {
253        let local_var_configuration = &self.configuration;
254
255        let local_var_client = &local_var_configuration.client;
256
257        let local_var_uri_str = format!(
258            "{}/organizations/{orgId}/collections/{id}/details",
259            local_var_configuration.base_path,
260            orgId = org_id,
261            id = id
262        );
263        let mut local_var_req_builder =
264            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
265
266        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
267
268        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
269    }
270
271    async fn get_many_with_details<'a>(
272        &self,
273        org_id: uuid::Uuid,
274    ) -> Result<models::CollectionAccessDetailsResponseModelListResponseModel, Error> {
275        let local_var_configuration = &self.configuration;
276
277        let local_var_client = &local_var_configuration.client;
278
279        let local_var_uri_str = format!(
280            "{}/organizations/{orgId}/collections/details",
281            local_var_configuration.base_path,
282            orgId = org_id
283        );
284        let mut local_var_req_builder =
285            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
286
287        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
288
289        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
290    }
291
292    async fn get_user(
293        &self,
294    ) -> Result<models::CollectionDetailsResponseModelListResponseModel, Error> {
295        let local_var_configuration = &self.configuration;
296
297        let local_var_client = &local_var_configuration.client;
298
299        let local_var_uri_str = format!("{}/collections", local_var_configuration.base_path);
300        let mut local_var_req_builder =
301            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
302
303        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
304
305        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
306    }
307
308    async fn get_users<'a>(
309        &self,
310        org_id: uuid::Uuid,
311        id: &'a str,
312        collection: Option<models::Collection>,
313    ) -> Result<Vec<models::SelectionReadOnlyResponseModel>, Error> {
314        let local_var_configuration = &self.configuration;
315
316        let local_var_client = &local_var_configuration.client;
317
318        let local_var_uri_str = format!(
319            "{}/organizations/{orgId}/collections/{id}/users",
320            local_var_configuration.base_path,
321            orgId = org_id,
322            id = crate::apis::urlencode(id)
323        );
324        let mut local_var_req_builder =
325            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
326
327        if let Some(ref param_value) = collection {
328            local_var_req_builder =
329                local_var_req_builder.query(&[("collection", &serde_json::to_value(param_value)?)]);
330        }
331        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
332
333        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
334    }
335
336    async fn post<'a>(
337        &self,
338        org_id: uuid::Uuid,
339        create_collection_request_model: Option<models::CreateCollectionRequestModel>,
340    ) -> Result<models::CollectionResponseModel, Error> {
341        let local_var_configuration = &self.configuration;
342
343        let local_var_client = &local_var_configuration.client;
344
345        let local_var_uri_str = format!(
346            "{}/organizations/{orgId}/collections",
347            local_var_configuration.base_path,
348            orgId = org_id
349        );
350        let mut local_var_req_builder =
351            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
352
353        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
354        local_var_req_builder = local_var_req_builder.json(&create_collection_request_model);
355
356        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
357    }
358
359    async fn post_bulk_collection_access<'a>(
360        &self,
361        org_id: uuid::Uuid,
362        bulk_collection_access_request_model: Option<models::BulkCollectionAccessRequestModel>,
363    ) -> Result<(), 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            "{}/organizations/{orgId}/collections/bulk-access",
370            local_var_configuration.base_path,
371            orgId = org_id
372        );
373        let mut local_var_req_builder =
374            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
375
376        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
377        local_var_req_builder = local_var_req_builder.json(&bulk_collection_access_request_model);
378
379        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
380    }
381
382    async fn put<'a>(
383        &self,
384        org_id: uuid::Uuid,
385        id: &'a str,
386        collection: Option<models::Collection>,
387        update_collection_request_model: Option<models::UpdateCollectionRequestModel>,
388    ) -> Result<models::CollectionResponseModel, Error> {
389        let local_var_configuration = &self.configuration;
390
391        let local_var_client = &local_var_configuration.client;
392
393        let local_var_uri_str = format!(
394            "{}/organizations/{orgId}/collections/{id}",
395            local_var_configuration.base_path,
396            orgId = org_id,
397            id = crate::apis::urlencode(id)
398        );
399        let mut local_var_req_builder =
400            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
401
402        if let Some(ref param_value) = collection {
403            local_var_req_builder =
404                local_var_req_builder.query(&[("collection", &serde_json::to_value(param_value)?)]);
405        }
406        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
407        local_var_req_builder = local_var_req_builder.json(&update_collection_request_model);
408
409        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
410    }
411}