Skip to main content

bitwarden_api_api/apis/
folders_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 FoldersApi: Send + Sync {
29    /// DELETE /folders/{id}
30    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error>;
31
32    /// DELETE /folders/all
33    async fn delete_all(&self) -> Result<(), Error>;
34
35    /// DELETE /folders
36    async fn delete_many<'a>(
37        &self,
38        folder_bulk_delete_request_model: Option<models::FolderBulkDeleteRequestModel>,
39    ) -> Result<(), Error>;
40
41    /// GET /folders/{id}
42    async fn get<'a>(&self, id: &'a str) -> Result<models::FolderResponseModel, Error>;
43
44    /// GET /folders
45    async fn get_all(&self) -> Result<models::FolderResponseModelListResponseModel, Error>;
46
47    /// POST /folders
48    async fn post<'a>(
49        &self,
50        folder_request_model: Option<models::FolderRequestModel>,
51    ) -> Result<models::FolderResponseModel, Error>;
52
53    /// PUT /folders/{id}
54    async fn put<'a>(
55        &self,
56        id: &'a str,
57        folder_request_model: Option<models::FolderRequestModel>,
58    ) -> Result<models::FolderResponseModel, Error>;
59}
60
61pub struct FoldersApiClient {
62    configuration: Arc<configuration::Configuration>,
63}
64
65impl FoldersApiClient {
66    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
67        Self { configuration }
68    }
69}
70
71#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
72#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
73impl FoldersApi for FoldersApiClient {
74    async fn delete<'a>(&self, id: &'a str) -> Result<(), Error> {
75        let local_var_configuration = &self.configuration;
76
77        let local_var_client = &local_var_configuration.client;
78
79        let local_var_uri_str = format!(
80            "{}/folders/{id}",
81            local_var_configuration.base_path,
82            id = crate::apis::urlencode(id)
83        );
84        let mut local_var_req_builder =
85            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
86
87        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
88
89        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
90    }
91
92    async fn delete_all(&self) -> Result<(), Error> {
93        let local_var_configuration = &self.configuration;
94
95        let local_var_client = &local_var_configuration.client;
96
97        let local_var_uri_str = format!("{}/folders/all", local_var_configuration.base_path);
98        let mut local_var_req_builder =
99            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
100
101        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
102
103        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
104    }
105
106    async fn delete_many<'a>(
107        &self,
108        folder_bulk_delete_request_model: Option<models::FolderBulkDeleteRequestModel>,
109    ) -> Result<(), Error> {
110        let local_var_configuration = &self.configuration;
111
112        let local_var_client = &local_var_configuration.client;
113
114        let local_var_uri_str = format!("{}/folders", local_var_configuration.base_path);
115        let mut local_var_req_builder =
116            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
117
118        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
119        local_var_req_builder = local_var_req_builder.json(&folder_bulk_delete_request_model);
120
121        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
122    }
123
124    async fn get<'a>(&self, id: &'a str) -> Result<models::FolderResponseModel, Error> {
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            "{}/folders/{id}",
131            local_var_configuration.base_path,
132            id = crate::apis::urlencode(id)
133        );
134        let mut local_var_req_builder =
135            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
136
137        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
138
139        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
140    }
141
142    async fn get_all(&self) -> Result<models::FolderResponseModelListResponseModel, Error> {
143        let local_var_configuration = &self.configuration;
144
145        let local_var_client = &local_var_configuration.client;
146
147        let local_var_uri_str = format!("{}/folders", local_var_configuration.base_path);
148        let mut local_var_req_builder =
149            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
150
151        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
152
153        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
154    }
155
156    async fn post<'a>(
157        &self,
158        folder_request_model: Option<models::FolderRequestModel>,
159    ) -> Result<models::FolderResponseModel, 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!("{}/folders", local_var_configuration.base_path);
165        let mut local_var_req_builder =
166            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
167
168        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
169        local_var_req_builder = local_var_req_builder.json(&folder_request_model);
170
171        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
172    }
173
174    async fn put<'a>(
175        &self,
176        id: &'a str,
177        folder_request_model: Option<models::FolderRequestModel>,
178    ) -> Result<models::FolderResponseModel, Error> {
179        let local_var_configuration = &self.configuration;
180
181        let local_var_client = &local_var_configuration.client;
182
183        let local_var_uri_str = format!(
184            "{}/folders/{id}",
185            local_var_configuration.base_path,
186            id = crate::apis::urlencode(id)
187        );
188        let mut local_var_req_builder =
189            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
190
191        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
192        local_var_req_builder = local_var_req_builder.json(&folder_request_model);
193
194        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
195    }
196}