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<
34        models::KeyConnectorConfirmationDetailsResponseModel,
35        Error<GetKeyConnectorConfirmationDetailsError>,
36    >;
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<PasswordChangeAndRotateUserAccountKeysError>>;
45
46    /// POST /accounts/convert-to-key-connector
47    async fn post_convert_to_key_connector(
48        &self,
49    ) -> Result<(), Error<PostConvertToKeyConnectorError>>;
50
51    /// POST /accounts/key-connector/enroll
52    async fn post_enroll_to_key_connector<'a>(
53        &self,
54        key_connector_enrollment_request_model: Option<models::KeyConnectorEnrollmentRequestModel>,
55    ) -> Result<(), Error<PostEnrollToKeyConnectorError>>;
56
57    /// POST /accounts/set-key-connector-key
58    async fn post_set_key_connector_key<'a>(
59        &self,
60        set_key_connector_key_request_model: Option<models::SetKeyConnectorKeyRequestModel>,
61    ) -> Result<(), Error<PostSetKeyConnectorKeyError>>;
62
63    /// POST /accounts/key-management/regenerate-keys
64    async fn regenerate_keys<'a>(
65        &self,
66        key_regeneration_request_model: Option<models::KeyRegenerationRequestModel>,
67    ) -> Result<(), Error<RegenerateKeysError>>;
68
69    /// POST /accounts/key-management/rotate-user-keys
70    async fn rotate_user_keys<'a>(
71        &self,
72        rotate_user_keys_request_model: Option<models::RotateUserKeysRequestModel>,
73    ) -> Result<(), Error<RotateUserKeysError>>;
74}
75
76pub struct AccountsKeyManagementApiClient {
77    configuration: Arc<configuration::Configuration>,
78}
79
80impl AccountsKeyManagementApiClient {
81    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
82        Self { configuration }
83    }
84}
85
86#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
87#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
88impl AccountsKeyManagementApi for AccountsKeyManagementApiClient {
89    async fn get_key_connector_confirmation_details<'a>(
90        &self,
91        org_sso_identifier: &'a str,
92    ) -> Result<
93        models::KeyConnectorConfirmationDetailsResponseModel,
94        Error<GetKeyConnectorConfirmationDetailsError>,
95    > {
96        let local_var_configuration = &self.configuration;
97
98        let local_var_client = &local_var_configuration.client;
99
100        let local_var_uri_str = format!(
101            "{}/accounts/key-connector/confirmation-details/{orgSsoIdentifier}",
102            local_var_configuration.base_path,
103            orgSsoIdentifier = crate::apis::urlencode(org_sso_identifier)
104        );
105        let mut local_var_req_builder =
106            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
107
108        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
109
110        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
111    }
112
113    async fn password_change_and_rotate_user_account_keys<'a>(
114        &self,
115        rotate_user_account_keys_and_data_request_model: Option<
116            models::RotateUserAccountKeysAndDataRequestModel,
117        >,
118    ) -> Result<(), Error<PasswordChangeAndRotateUserAccountKeysError>> {
119        let local_var_configuration = &self.configuration;
120
121        let local_var_client = &local_var_configuration.client;
122
123        let local_var_uri_str = format!(
124            "{}/accounts/key-management/rotate-user-account-keys",
125            local_var_configuration.base_path
126        );
127        let mut local_var_req_builder =
128            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
129
130        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
131        local_var_req_builder =
132            local_var_req_builder.json(&rotate_user_account_keys_and_data_request_model);
133
134        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
135    }
136
137    async fn post_convert_to_key_connector(
138        &self,
139    ) -> Result<(), Error<PostConvertToKeyConnectorError>> {
140        let local_var_configuration = &self.configuration;
141
142        let local_var_client = &local_var_configuration.client;
143
144        let local_var_uri_str = format!(
145            "{}/accounts/convert-to-key-connector",
146            local_var_configuration.base_path
147        );
148        let mut local_var_req_builder =
149            local_var_client.request(reqwest::Method::POST, 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_empty_response(local_var_req_builder).await
154    }
155
156    async fn post_enroll_to_key_connector<'a>(
157        &self,
158        key_connector_enrollment_request_model: Option<models::KeyConnectorEnrollmentRequestModel>,
159    ) -> Result<(), Error<PostEnrollToKeyConnectorError>> {
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            "{}/accounts/key-connector/enroll",
166            local_var_configuration.base_path
167        );
168        let mut local_var_req_builder =
169            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
170
171        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
172        local_var_req_builder = local_var_req_builder.json(&key_connector_enrollment_request_model);
173
174        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
175    }
176
177    async fn post_set_key_connector_key<'a>(
178        &self,
179        set_key_connector_key_request_model: Option<models::SetKeyConnectorKeyRequestModel>,
180    ) -> Result<(), Error<PostSetKeyConnectorKeyError>> {
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            "{}/accounts/set-key-connector-key",
187            local_var_configuration.base_path
188        );
189        let mut local_var_req_builder =
190            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
191
192        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
193        local_var_req_builder = local_var_req_builder.json(&set_key_connector_key_request_model);
194
195        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
196    }
197
198    async fn regenerate_keys<'a>(
199        &self,
200        key_regeneration_request_model: Option<models::KeyRegenerationRequestModel>,
201    ) -> Result<(), Error<RegenerateKeysError>> {
202        let local_var_configuration = &self.configuration;
203
204        let local_var_client = &local_var_configuration.client;
205
206        let local_var_uri_str = format!(
207            "{}/accounts/key-management/regenerate-keys",
208            local_var_configuration.base_path
209        );
210        let mut local_var_req_builder =
211            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
212
213        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
214        local_var_req_builder = local_var_req_builder.json(&key_regeneration_request_model);
215
216        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
217    }
218
219    async fn rotate_user_keys<'a>(
220        &self,
221        rotate_user_keys_request_model: Option<models::RotateUserKeysRequestModel>,
222    ) -> Result<(), Error<RotateUserKeysError>> {
223        let local_var_configuration = &self.configuration;
224
225        let local_var_client = &local_var_configuration.client;
226
227        let local_var_uri_str = format!(
228            "{}/accounts/key-management/rotate-user-keys",
229            local_var_configuration.base_path
230        );
231        let mut local_var_req_builder =
232            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
233
234        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
235        local_var_req_builder = local_var_req_builder.json(&rotate_user_keys_request_model);
236
237        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
238    }
239}
240
241/// struct for typed errors of method
242/// [`AccountsKeyManagementApi::get_key_connector_confirmation_details`]
243#[derive(Debug, Clone, Serialize, Deserialize)]
244#[serde(untagged)]
245pub enum GetKeyConnectorConfirmationDetailsError {
246    UnknownValue(serde_json::Value),
247}
248/// struct for typed errors of method
249/// [`AccountsKeyManagementApi::password_change_and_rotate_user_account_keys`]
250#[derive(Debug, Clone, Serialize, Deserialize)]
251#[serde(untagged)]
252pub enum PasswordChangeAndRotateUserAccountKeysError {
253    UnknownValue(serde_json::Value),
254}
255/// struct for typed errors of method [`AccountsKeyManagementApi::post_convert_to_key_connector`]
256#[derive(Debug, Clone, Serialize, Deserialize)]
257#[serde(untagged)]
258pub enum PostConvertToKeyConnectorError {
259    UnknownValue(serde_json::Value),
260}
261/// struct for typed errors of method [`AccountsKeyManagementApi::post_enroll_to_key_connector`]
262#[derive(Debug, Clone, Serialize, Deserialize)]
263#[serde(untagged)]
264pub enum PostEnrollToKeyConnectorError {
265    UnknownValue(serde_json::Value),
266}
267/// struct for typed errors of method [`AccountsKeyManagementApi::post_set_key_connector_key`]
268#[derive(Debug, Clone, Serialize, Deserialize)]
269#[serde(untagged)]
270pub enum PostSetKeyConnectorKeyError {
271    UnknownValue(serde_json::Value),
272}
273/// struct for typed errors of method [`AccountsKeyManagementApi::regenerate_keys`]
274#[derive(Debug, Clone, Serialize, Deserialize)]
275#[serde(untagged)]
276pub enum RegenerateKeysError {
277    UnknownValue(serde_json::Value),
278}
279/// struct for typed errors of method [`AccountsKeyManagementApi::rotate_user_keys`]
280#[derive(Debug, Clone, Serialize, Deserialize)]
281#[serde(untagged)]
282pub enum RotateUserKeysError {
283    UnknownValue(serde_json::Value),
284}