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