Skip to main content

bitwarden_api_api/apis/
accounts_key_management_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 AccountsKeyManagementApi: Send + Sync {
29    /// GET /accounts/key-connector/confirmation-details/{orgSsoIdentifier}
30    async fn get_key_connector_confirmation_details<'a>(
31        &self,
32        org_sso_identifier: &'a str,
33    ) -> Result<models::KeyConnectorConfirmationDetailsResponseModel, Error>;
34
35    /// GET /accounts/key-management/key-rotation-data
36    async fn get_key_rotation_data(&self) -> Result<models::KeyRotationDataResponseModel, Error>;
37
38    /// POST /accounts/key-management/rotate-user-account-keys
39    async fn password_change_and_rotate_user_account_keys<'a>(
40        &self,
41        rotate_user_account_keys_and_data_request_model: Option<
42            models::RotateUserAccountKeysAndDataRequestModel,
43        >,
44    ) -> Result<(), Error>;
45
46    /// POST /accounts/convert-to-key-connector
47    async fn post_convert_to_key_connector(&self) -> Result<(), Error>;
48
49    /// POST /accounts/key-connector/enroll
50    async fn post_enroll_to_key_connector<'a>(
51        &self,
52        key_connector_enrollment_request_model: Option<models::KeyConnectorEnrollmentRequestModel>,
53    ) -> Result<(), Error>;
54
55    /// POST /accounts/set-key-connector-key
56    async fn post_set_key_connector_key<'a>(
57        &self,
58        set_key_connector_key_request_model: Option<models::SetKeyConnectorKeyRequestModel>,
59    ) -> Result<(), Error>;
60
61    /// POST /accounts/key-management/regenerate-keys
62    async fn regenerate_keys<'a>(
63        &self,
64        key_regeneration_request_model: Option<models::KeyRegenerationRequestModel>,
65    ) -> Result<(), Error>;
66
67    /// POST /accounts/key-management/rotate-user-keys
68    async fn rotate_user_keys<'a>(
69        &self,
70        rotate_user_keys_request_model: Option<models::RotateUserKeysRequestModel>,
71    ) -> Result<(), Error>;
72}
73
74pub struct AccountsKeyManagementApiClient {
75    configuration: Arc<configuration::Configuration>,
76}
77
78impl AccountsKeyManagementApiClient {
79    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
80        Self { configuration }
81    }
82}
83
84#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
85#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
86impl AccountsKeyManagementApi for AccountsKeyManagementApiClient {
87    async fn get_key_connector_confirmation_details<'a>(
88        &self,
89        org_sso_identifier: &'a str,
90    ) -> Result<models::KeyConnectorConfirmationDetailsResponseModel, Error> {
91        let local_var_configuration = &self.configuration;
92
93        let local_var_client = &local_var_configuration.client;
94
95        let local_var_uri_str = format!(
96            "{}/accounts/key-connector/confirmation-details/{orgSsoIdentifier}",
97            local_var_configuration.base_path,
98            orgSsoIdentifier = crate::apis::urlencode(org_sso_identifier)
99        );
100        let mut local_var_req_builder =
101            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
102
103        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
104
105        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
106    }
107
108    async fn get_key_rotation_data(&self) -> Result<models::KeyRotationDataResponseModel, Error> {
109        let local_var_configuration = &self.configuration;
110
111        let local_var_client = &local_var_configuration.client;
112
113        let local_var_uri_str = format!(
114            "{}/accounts/key-management/key-rotation-data",
115            local_var_configuration.base_path
116        );
117        let mut local_var_req_builder =
118            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
119
120        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
121
122        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
123    }
124
125    async fn password_change_and_rotate_user_account_keys<'a>(
126        &self,
127        rotate_user_account_keys_and_data_request_model: Option<
128            models::RotateUserAccountKeysAndDataRequestModel,
129        >,
130    ) -> Result<(), Error> {
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            "{}/accounts/key-management/rotate-user-account-keys",
137            local_var_configuration.base_path
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.with_extension(AuthRequired::Bearer);
143        local_var_req_builder =
144            local_var_req_builder.json(&rotate_user_account_keys_and_data_request_model);
145
146        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
147    }
148
149    async fn post_convert_to_key_connector(&self) -> Result<(), Error> {
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!(
155            "{}/accounts/convert-to-key-connector",
156            local_var_configuration.base_path
157        );
158        let mut local_var_req_builder =
159            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
160
161        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
162
163        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
164    }
165
166    async fn post_enroll_to_key_connector<'a>(
167        &self,
168        key_connector_enrollment_request_model: Option<models::KeyConnectorEnrollmentRequestModel>,
169    ) -> Result<(), Error> {
170        let local_var_configuration = &self.configuration;
171
172        let local_var_client = &local_var_configuration.client;
173
174        let local_var_uri_str = format!(
175            "{}/accounts/key-connector/enroll",
176            local_var_configuration.base_path
177        );
178        let mut local_var_req_builder =
179            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
180
181        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
182        local_var_req_builder = local_var_req_builder.json(&key_connector_enrollment_request_model);
183
184        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
185    }
186
187    async fn post_set_key_connector_key<'a>(
188        &self,
189        set_key_connector_key_request_model: Option<models::SetKeyConnectorKeyRequestModel>,
190    ) -> Result<(), Error> {
191        let local_var_configuration = &self.configuration;
192
193        let local_var_client = &local_var_configuration.client;
194
195        let local_var_uri_str = format!(
196            "{}/accounts/set-key-connector-key",
197            local_var_configuration.base_path
198        );
199        let mut local_var_req_builder =
200            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
201
202        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
203        local_var_req_builder = local_var_req_builder.json(&set_key_connector_key_request_model);
204
205        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
206    }
207
208    async fn regenerate_keys<'a>(
209        &self,
210        key_regeneration_request_model: Option<models::KeyRegenerationRequestModel>,
211    ) -> Result<(), Error> {
212        let local_var_configuration = &self.configuration;
213
214        let local_var_client = &local_var_configuration.client;
215
216        let local_var_uri_str = format!(
217            "{}/accounts/key-management/regenerate-keys",
218            local_var_configuration.base_path
219        );
220        let mut local_var_req_builder =
221            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
222
223        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
224        local_var_req_builder = local_var_req_builder.json(&key_regeneration_request_model);
225
226        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
227    }
228
229    async fn rotate_user_keys<'a>(
230        &self,
231        rotate_user_keys_request_model: Option<models::RotateUserKeysRequestModel>,
232    ) -> Result<(), Error> {
233        let local_var_configuration = &self.configuration;
234
235        let local_var_client = &local_var_configuration.client;
236
237        let local_var_uri_str = format!(
238            "{}/accounts/key-management/rotate-user-keys",
239            local_var_configuration.base_path
240        );
241        let mut local_var_req_builder =
242            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
243
244        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
245        local_var_req_builder = local_var_req_builder.json(&rotate_user_keys_request_model);
246
247        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
248    }
249}