bitwarden_api_api/apis/
accounts_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::{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 AccountsApi: Send + Sync {
29    /// POST /accounts/api-key
30    async fn api_key<'a>(
31        &self,
32        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
33    ) -> Result<models::ApiKeyResponseModel, Error<ApiKeyError>>;
34
35    /// DELETE /accounts
36    async fn delete<'a>(
37        &self,
38        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
39    ) -> Result<(), Error<DeleteError>>;
40
41    /// DELETE /accounts/sso/{organizationId}
42    async fn delete_sso_user<'a>(
43        &self,
44        organization_id: &'a str,
45    ) -> Result<(), Error<DeleteSsoUserError>>;
46
47    /// GET /accounts/revision-date
48    async fn get_account_revision_date(&self) -> Result<i64, Error<GetAccountRevisionDateError>>;
49
50    /// GET /accounts/keys
51    async fn get_keys(&self) -> Result<models::KeysResponseModel, Error<GetKeysError>>;
52
53    /// GET /accounts/organizations
54    async fn get_organizations(
55        &self,
56    ) -> Result<
57        models::ProfileOrganizationResponseModelListResponseModel,
58        Error<GetOrganizationsError>,
59    >;
60
61    /// GET /accounts/profile
62    async fn get_profile(&self) -> Result<models::ProfileResponseModel, Error<GetProfileError>>;
63
64    /// GET /accounts/sso/user-identifier
65    async fn get_sso_user_identifier(&self) -> Result<String, Error<GetSsoUserIdentifierError>>;
66
67    /// GET /accounts/subscription
68    async fn get_subscription(
69        &self,
70    ) -> Result<models::SubscriptionResponseModel, Error<GetSubscriptionError>>;
71
72    /// POST /accounts/cancel
73    async fn post_cancel<'a>(
74        &self,
75        subscription_cancellation_request_model: Option<
76            models::SubscriptionCancellationRequestModel,
77        >,
78    ) -> Result<(), Error<PostCancelError>>;
79
80    /// POST /accounts/delete-recover
81    async fn post_delete_recover<'a>(
82        &self,
83        delete_recover_request_model: Option<models::DeleteRecoverRequestModel>,
84    ) -> Result<(), Error<PostDeleteRecoverError>>;
85
86    /// POST /accounts/delete-recover-token
87    async fn post_delete_recover_token<'a>(
88        &self,
89        verify_delete_recover_request_model: Option<models::VerifyDeleteRecoverRequestModel>,
90    ) -> Result<(), Error<PostDeleteRecoverTokenError>>;
91
92    /// POST /accounts/email
93    async fn post_email<'a>(
94        &self,
95        email_request_model: Option<models::EmailRequestModel>,
96    ) -> Result<(), Error<PostEmailError>>;
97
98    /// POST /accounts/email-token
99    async fn post_email_token<'a>(
100        &self,
101        email_token_request_model: Option<models::EmailTokenRequestModel>,
102    ) -> Result<(), Error<PostEmailTokenError>>;
103
104    /// POST /accounts/kdf
105    async fn post_kdf<'a>(
106        &self,
107        password_request_model: Option<models::PasswordRequestModel>,
108    ) -> Result<(), Error<PostKdfError>>;
109
110    /// POST /accounts/keys
111    async fn post_keys<'a>(
112        &self,
113        keys_request_model: Option<models::KeysRequestModel>,
114    ) -> Result<models::KeysResponseModel, Error<PostKeysError>>;
115
116    /// POST /accounts/license
117    async fn post_license<'a>(
118        &self,
119        license: std::path::PathBuf,
120    ) -> Result<(), Error<PostLicenseError>>;
121
122    /// POST /accounts/password
123    async fn post_password<'a>(
124        &self,
125        password_request_model: Option<models::PasswordRequestModel>,
126    ) -> Result<(), Error<PostPasswordError>>;
127
128    /// POST /accounts/password-hint
129    async fn post_password_hint<'a>(
130        &self,
131        password_hint_request_model: Option<models::PasswordHintRequestModel>,
132    ) -> Result<(), Error<PostPasswordHintError>>;
133
134    /// POST /accounts/premium
135    async fn post_premium<'a>(
136        &self,
137        payment_method_type: models::PaymentMethodType,
138        payment_token: Option<&'a str>,
139        additional_storage_gb: Option<i32>,
140        country: Option<&'a str>,
141        postal_code: Option<&'a str>,
142        license: Option<std::path::PathBuf>,
143    ) -> Result<models::PaymentResponseModel, Error<PostPremiumError>>;
144
145    /// POST /accounts/reinstate-premium
146    async fn post_reinstate(&self) -> Result<(), Error<PostReinstateError>>;
147
148    /// POST /accounts/request-otp
149    async fn post_request_otp(&self) -> Result<(), Error<PostRequestOTPError>>;
150
151    /// POST /accounts/security-stamp
152    async fn post_security_stamp<'a>(
153        &self,
154        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
155    ) -> Result<(), Error<PostSecurityStampError>>;
156
157    /// POST /accounts/set-password
158    async fn post_set_password<'a>(
159        &self,
160        set_password_request_model: Option<models::SetPasswordRequestModel>,
161    ) -> Result<(), Error<PostSetPasswordError>>;
162
163    /// POST /accounts/storage
164    async fn post_storage<'a>(
165        &self,
166        storage_request_model: Option<models::StorageRequestModel>,
167    ) -> Result<models::PaymentResponseModel, Error<PostStorageError>>;
168
169    /// POST /accounts/verify-email
170    async fn post_verify_email(&self) -> Result<(), Error<PostVerifyEmailError>>;
171
172    /// POST /accounts/verify-email-token
173    async fn post_verify_email_token<'a>(
174        &self,
175        verify_email_request_model: Option<models::VerifyEmailRequestModel>,
176    ) -> Result<(), Error<PostVerifyEmailTokenError>>;
177
178    /// POST /accounts/verify-password
179    async fn post_verify_password<'a>(
180        &self,
181        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
182    ) -> Result<models::MasterPasswordPolicyResponseModel, Error<PostVerifyPasswordError>>;
183
184    /// PUT /accounts/avatar
185    async fn put_avatar<'a>(
186        &self,
187        update_avatar_request_model: Option<models::UpdateAvatarRequestModel>,
188    ) -> Result<models::ProfileResponseModel, Error<PutAvatarError>>;
189
190    /// PUT /accounts/profile
191    async fn put_profile<'a>(
192        &self,
193        update_profile_request_model: Option<models::UpdateProfileRequestModel>,
194    ) -> Result<models::ProfileResponseModel, Error<PutProfileError>>;
195
196    /// PUT /accounts/update-tde-offboarding-password
197    async fn put_update_tde_password<'a>(
198        &self,
199        update_tde_offboarding_password_request_model: Option<
200            models::UpdateTdeOffboardingPasswordRequestModel,
201        >,
202    ) -> Result<(), Error<PutUpdateTdePasswordError>>;
203
204    /// PUT /accounts/update-temp-password
205    async fn put_update_temp_password<'a>(
206        &self,
207        update_temp_password_request_model: Option<models::UpdateTempPasswordRequestModel>,
208    ) -> Result<(), Error<PutUpdateTempPasswordError>>;
209
210    /// POST /accounts/resend-new-device-otp
211    async fn resend_new_device_otp<'a>(
212        &self,
213        unauthenticated_secret_verification_request_model: Option<
214            models::UnauthenticatedSecretVerificationRequestModel,
215        >,
216    ) -> Result<(), Error<ResendNewDeviceOtpError>>;
217
218    /// POST /accounts/rotate-api-key
219    async fn rotate_api_key<'a>(
220        &self,
221        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
222    ) -> Result<models::ApiKeyResponseModel, Error<RotateApiKeyError>>;
223
224    /// PUT /accounts/verify-devices
225    async fn set_user_verify_devices<'a>(
226        &self,
227        set_verify_devices_request_model: Option<models::SetVerifyDevicesRequestModel>,
228    ) -> Result<(), Error<SetUserVerifyDevicesError>>;
229
230    /// POST /accounts/verify-otp
231    async fn verify_otp<'a>(
232        &self,
233        verify_otp_request_model: Option<models::VerifyOtpRequestModel>,
234    ) -> Result<(), Error<VerifyOTPError>>;
235}
236
237pub struct AccountsApiClient {
238    configuration: Arc<configuration::Configuration>,
239}
240
241impl AccountsApiClient {
242    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
243        Self { configuration }
244    }
245}
246
247#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
248#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
249impl AccountsApi for AccountsApiClient {
250    async fn api_key<'a>(
251        &self,
252        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
253    ) -> Result<models::ApiKeyResponseModel, Error<ApiKeyError>> {
254        let local_var_configuration = &self.configuration;
255
256        let local_var_client = &local_var_configuration.client;
257
258        let local_var_uri_str = format!("{}/accounts/api-key", local_var_configuration.base_path);
259        let mut local_var_req_builder =
260            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
261
262        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
263            local_var_req_builder = local_var_req_builder
264                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
265        }
266        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
267            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
268        };
269        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
270
271        let local_var_req = local_var_req_builder.build()?;
272        let local_var_resp = local_var_client.execute(local_var_req).await?;
273
274        let local_var_status = local_var_resp.status();
275        let local_var_content_type = local_var_resp
276            .headers()
277            .get("content-type")
278            .and_then(|v| v.to_str().ok())
279            .unwrap_or("application/octet-stream");
280        let local_var_content_type = super::ContentType::from(local_var_content_type);
281        let local_var_content = local_var_resp.text().await?;
282
283        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
284            match local_var_content_type {
285                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
286                ContentType::Text => {
287                    return Err(Error::from(serde_json::Error::custom(
288                        "Received `text/plain` content type response that cannot be converted to `models::ApiKeyResponseModel`",
289                    )));
290                }
291                ContentType::Unsupported(local_var_unknown_type) => {
292                    return Err(Error::from(serde_json::Error::custom(format!(
293                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ApiKeyResponseModel`"
294                    ))));
295                }
296            }
297        } else {
298            let local_var_entity: Option<ApiKeyError> =
299                serde_json::from_str(&local_var_content).ok();
300            let local_var_error = ResponseContent {
301                status: local_var_status,
302                content: local_var_content,
303                entity: local_var_entity,
304            };
305            Err(Error::ResponseError(local_var_error))
306        }
307    }
308
309    async fn delete<'a>(
310        &self,
311        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
312    ) -> Result<(), Error<DeleteError>> {
313        let local_var_configuration = &self.configuration;
314
315        let local_var_client = &local_var_configuration.client;
316
317        let local_var_uri_str = format!("{}/accounts", local_var_configuration.base_path);
318        let mut local_var_req_builder =
319            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
320
321        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
322            local_var_req_builder = local_var_req_builder
323                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
324        }
325        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
326            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
327        };
328        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
329
330        let local_var_req = local_var_req_builder.build()?;
331        let local_var_resp = local_var_client.execute(local_var_req).await?;
332
333        let local_var_status = local_var_resp.status();
334        let local_var_content = local_var_resp.text().await?;
335
336        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
337            Ok(())
338        } else {
339            let local_var_entity: Option<DeleteError> =
340                serde_json::from_str(&local_var_content).ok();
341            let local_var_error = ResponseContent {
342                status: local_var_status,
343                content: local_var_content,
344                entity: local_var_entity,
345            };
346            Err(Error::ResponseError(local_var_error))
347        }
348    }
349
350    async fn delete_sso_user<'a>(
351        &self,
352        organization_id: &'a str,
353    ) -> Result<(), Error<DeleteSsoUserError>> {
354        let local_var_configuration = &self.configuration;
355
356        let local_var_client = &local_var_configuration.client;
357
358        let local_var_uri_str = format!(
359            "{}/accounts/sso/{organizationId}",
360            local_var_configuration.base_path,
361            organizationId = crate::apis::urlencode(organization_id)
362        );
363        let mut local_var_req_builder =
364            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
365
366        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
367            local_var_req_builder = local_var_req_builder
368                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
369        }
370        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
371            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
372        };
373
374        let local_var_req = local_var_req_builder.build()?;
375        let local_var_resp = local_var_client.execute(local_var_req).await?;
376
377        let local_var_status = local_var_resp.status();
378        let local_var_content = local_var_resp.text().await?;
379
380        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
381            Ok(())
382        } else {
383            let local_var_entity: Option<DeleteSsoUserError> =
384                serde_json::from_str(&local_var_content).ok();
385            let local_var_error = ResponseContent {
386                status: local_var_status,
387                content: local_var_content,
388                entity: local_var_entity,
389            };
390            Err(Error::ResponseError(local_var_error))
391        }
392    }
393
394    async fn get_account_revision_date(&self) -> Result<i64, Error<GetAccountRevisionDateError>> {
395        let local_var_configuration = &self.configuration;
396
397        let local_var_client = &local_var_configuration.client;
398
399        let local_var_uri_str = format!(
400            "{}/accounts/revision-date",
401            local_var_configuration.base_path
402        );
403        let mut local_var_req_builder =
404            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
405
406        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
407            local_var_req_builder = local_var_req_builder
408                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
409        }
410        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
411            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
412        };
413
414        let local_var_req = local_var_req_builder.build()?;
415        let local_var_resp = local_var_client.execute(local_var_req).await?;
416
417        let local_var_status = local_var_resp.status();
418        let local_var_content_type = local_var_resp
419            .headers()
420            .get("content-type")
421            .and_then(|v| v.to_str().ok())
422            .unwrap_or("application/octet-stream");
423        let local_var_content_type = super::ContentType::from(local_var_content_type);
424        let local_var_content = local_var_resp.text().await?;
425
426        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
427            match local_var_content_type {
428                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
429                ContentType::Text => {
430                    return Err(Error::from(serde_json::Error::custom(
431                        "Received `text/plain` content type response that cannot be converted to `i64`",
432                    )));
433                }
434                ContentType::Unsupported(local_var_unknown_type) => {
435                    return Err(Error::from(serde_json::Error::custom(format!(
436                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `i64`"
437                    ))));
438                }
439            }
440        } else {
441            let local_var_entity: Option<GetAccountRevisionDateError> =
442                serde_json::from_str(&local_var_content).ok();
443            let local_var_error = ResponseContent {
444                status: local_var_status,
445                content: local_var_content,
446                entity: local_var_entity,
447            };
448            Err(Error::ResponseError(local_var_error))
449        }
450    }
451
452    async fn get_keys(&self) -> Result<models::KeysResponseModel, Error<GetKeysError>> {
453        let local_var_configuration = &self.configuration;
454
455        let local_var_client = &local_var_configuration.client;
456
457        let local_var_uri_str = format!("{}/accounts/keys", local_var_configuration.base_path);
458        let mut local_var_req_builder =
459            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
460
461        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
462            local_var_req_builder = local_var_req_builder
463                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
464        }
465        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
466            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
467        };
468
469        let local_var_req = local_var_req_builder.build()?;
470        let local_var_resp = local_var_client.execute(local_var_req).await?;
471
472        let local_var_status = local_var_resp.status();
473        let local_var_content_type = local_var_resp
474            .headers()
475            .get("content-type")
476            .and_then(|v| v.to_str().ok())
477            .unwrap_or("application/octet-stream");
478        let local_var_content_type = super::ContentType::from(local_var_content_type);
479        let local_var_content = local_var_resp.text().await?;
480
481        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
482            match local_var_content_type {
483                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
484                ContentType::Text => {
485                    return Err(Error::from(serde_json::Error::custom(
486                        "Received `text/plain` content type response that cannot be converted to `models::KeysResponseModel`",
487                    )));
488                }
489                ContentType::Unsupported(local_var_unknown_type) => {
490                    return Err(Error::from(serde_json::Error::custom(format!(
491                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::KeysResponseModel`"
492                    ))));
493                }
494            }
495        } else {
496            let local_var_entity: Option<GetKeysError> =
497                serde_json::from_str(&local_var_content).ok();
498            let local_var_error = ResponseContent {
499                status: local_var_status,
500                content: local_var_content,
501                entity: local_var_entity,
502            };
503            Err(Error::ResponseError(local_var_error))
504        }
505    }
506
507    async fn get_organizations(
508        &self,
509    ) -> Result<
510        models::ProfileOrganizationResponseModelListResponseModel,
511        Error<GetOrganizationsError>,
512    > {
513        let local_var_configuration = &self.configuration;
514
515        let local_var_client = &local_var_configuration.client;
516
517        let local_var_uri_str = format!(
518            "{}/accounts/organizations",
519            local_var_configuration.base_path
520        );
521        let mut local_var_req_builder =
522            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
523
524        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
525            local_var_req_builder = local_var_req_builder
526                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
527        }
528        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
529            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
530        };
531
532        let local_var_req = local_var_req_builder.build()?;
533        let local_var_resp = local_var_client.execute(local_var_req).await?;
534
535        let local_var_status = local_var_resp.status();
536        let local_var_content_type = local_var_resp
537            .headers()
538            .get("content-type")
539            .and_then(|v| v.to_str().ok())
540            .unwrap_or("application/octet-stream");
541        let local_var_content_type = super::ContentType::from(local_var_content_type);
542        let local_var_content = local_var_resp.text().await?;
543
544        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
545            match local_var_content_type {
546                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
547                ContentType::Text => {
548                    return Err(Error::from(serde_json::Error::custom(
549                        "Received `text/plain` content type response that cannot be converted to `models::ProfileOrganizationResponseModelListResponseModel`",
550                    )));
551                }
552                ContentType::Unsupported(local_var_unknown_type) => {
553                    return Err(Error::from(serde_json::Error::custom(format!(
554                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ProfileOrganizationResponseModelListResponseModel`"
555                    ))));
556                }
557            }
558        } else {
559            let local_var_entity: Option<GetOrganizationsError> =
560                serde_json::from_str(&local_var_content).ok();
561            let local_var_error = ResponseContent {
562                status: local_var_status,
563                content: local_var_content,
564                entity: local_var_entity,
565            };
566            Err(Error::ResponseError(local_var_error))
567        }
568    }
569
570    async fn get_profile(&self) -> Result<models::ProfileResponseModel, Error<GetProfileError>> {
571        let local_var_configuration = &self.configuration;
572
573        let local_var_client = &local_var_configuration.client;
574
575        let local_var_uri_str = format!("{}/accounts/profile", local_var_configuration.base_path);
576        let mut local_var_req_builder =
577            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
578
579        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
580            local_var_req_builder = local_var_req_builder
581                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
582        }
583        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
584            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
585        };
586
587        let local_var_req = local_var_req_builder.build()?;
588        let local_var_resp = local_var_client.execute(local_var_req).await?;
589
590        let local_var_status = local_var_resp.status();
591        let local_var_content_type = local_var_resp
592            .headers()
593            .get("content-type")
594            .and_then(|v| v.to_str().ok())
595            .unwrap_or("application/octet-stream");
596        let local_var_content_type = super::ContentType::from(local_var_content_type);
597        let local_var_content = local_var_resp.text().await?;
598
599        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
600            match local_var_content_type {
601                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
602                ContentType::Text => {
603                    return Err(Error::from(serde_json::Error::custom(
604                        "Received `text/plain` content type response that cannot be converted to `models::ProfileResponseModel`",
605                    )));
606                }
607                ContentType::Unsupported(local_var_unknown_type) => {
608                    return Err(Error::from(serde_json::Error::custom(format!(
609                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ProfileResponseModel`"
610                    ))));
611                }
612            }
613        } else {
614            let local_var_entity: Option<GetProfileError> =
615                serde_json::from_str(&local_var_content).ok();
616            let local_var_error = ResponseContent {
617                status: local_var_status,
618                content: local_var_content,
619                entity: local_var_entity,
620            };
621            Err(Error::ResponseError(local_var_error))
622        }
623    }
624
625    async fn get_sso_user_identifier(&self) -> Result<String, Error<GetSsoUserIdentifierError>> {
626        let local_var_configuration = &self.configuration;
627
628        let local_var_client = &local_var_configuration.client;
629
630        let local_var_uri_str = format!(
631            "{}/accounts/sso/user-identifier",
632            local_var_configuration.base_path
633        );
634        let mut local_var_req_builder =
635            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
636
637        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
638            local_var_req_builder = local_var_req_builder
639                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
640        }
641        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
642            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
643        };
644
645        let local_var_req = local_var_req_builder.build()?;
646        let local_var_resp = local_var_client.execute(local_var_req).await?;
647
648        let local_var_status = local_var_resp.status();
649        let local_var_content_type = local_var_resp
650            .headers()
651            .get("content-type")
652            .and_then(|v| v.to_str().ok())
653            .unwrap_or("application/octet-stream");
654        let local_var_content_type = super::ContentType::from(local_var_content_type);
655        let local_var_content = local_var_resp.text().await?;
656
657        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
658            match local_var_content_type {
659                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
660                ContentType::Text => return Ok(local_var_content),
661                ContentType::Unsupported(local_var_unknown_type) => {
662                    return Err(Error::from(serde_json::Error::custom(format!(
663                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `String`"
664                    ))));
665                }
666            }
667        } else {
668            let local_var_entity: Option<GetSsoUserIdentifierError> =
669                serde_json::from_str(&local_var_content).ok();
670            let local_var_error = ResponseContent {
671                status: local_var_status,
672                content: local_var_content,
673                entity: local_var_entity,
674            };
675            Err(Error::ResponseError(local_var_error))
676        }
677    }
678
679    async fn get_subscription(
680        &self,
681    ) -> Result<models::SubscriptionResponseModel, Error<GetSubscriptionError>> {
682        let local_var_configuration = &self.configuration;
683
684        let local_var_client = &local_var_configuration.client;
685
686        let local_var_uri_str = format!(
687            "{}/accounts/subscription",
688            local_var_configuration.base_path
689        );
690        let mut local_var_req_builder =
691            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
692
693        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
694            local_var_req_builder = local_var_req_builder
695                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
696        }
697        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
698            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
699        };
700
701        let local_var_req = local_var_req_builder.build()?;
702        let local_var_resp = local_var_client.execute(local_var_req).await?;
703
704        let local_var_status = local_var_resp.status();
705        let local_var_content_type = local_var_resp
706            .headers()
707            .get("content-type")
708            .and_then(|v| v.to_str().ok())
709            .unwrap_or("application/octet-stream");
710        let local_var_content_type = super::ContentType::from(local_var_content_type);
711        let local_var_content = local_var_resp.text().await?;
712
713        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
714            match local_var_content_type {
715                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
716                ContentType::Text => {
717                    return Err(Error::from(serde_json::Error::custom(
718                        "Received `text/plain` content type response that cannot be converted to `models::SubscriptionResponseModel`",
719                    )));
720                }
721                ContentType::Unsupported(local_var_unknown_type) => {
722                    return Err(Error::from(serde_json::Error::custom(format!(
723                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::SubscriptionResponseModel`"
724                    ))));
725                }
726            }
727        } else {
728            let local_var_entity: Option<GetSubscriptionError> =
729                serde_json::from_str(&local_var_content).ok();
730            let local_var_error = ResponseContent {
731                status: local_var_status,
732                content: local_var_content,
733                entity: local_var_entity,
734            };
735            Err(Error::ResponseError(local_var_error))
736        }
737    }
738
739    async fn post_cancel<'a>(
740        &self,
741        subscription_cancellation_request_model: Option<
742            models::SubscriptionCancellationRequestModel,
743        >,
744    ) -> Result<(), Error<PostCancelError>> {
745        let local_var_configuration = &self.configuration;
746
747        let local_var_client = &local_var_configuration.client;
748
749        let local_var_uri_str = format!("{}/accounts/cancel", local_var_configuration.base_path);
750        let mut local_var_req_builder =
751            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
752
753        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
754            local_var_req_builder = local_var_req_builder
755                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
756        }
757        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
758            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
759        };
760        local_var_req_builder =
761            local_var_req_builder.json(&subscription_cancellation_request_model);
762
763        let local_var_req = local_var_req_builder.build()?;
764        let local_var_resp = local_var_client.execute(local_var_req).await?;
765
766        let local_var_status = local_var_resp.status();
767        let local_var_content = local_var_resp.text().await?;
768
769        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
770            Ok(())
771        } else {
772            let local_var_entity: Option<PostCancelError> =
773                serde_json::from_str(&local_var_content).ok();
774            let local_var_error = ResponseContent {
775                status: local_var_status,
776                content: local_var_content,
777                entity: local_var_entity,
778            };
779            Err(Error::ResponseError(local_var_error))
780        }
781    }
782
783    async fn post_delete_recover<'a>(
784        &self,
785        delete_recover_request_model: Option<models::DeleteRecoverRequestModel>,
786    ) -> Result<(), Error<PostDeleteRecoverError>> {
787        let local_var_configuration = &self.configuration;
788
789        let local_var_client = &local_var_configuration.client;
790
791        let local_var_uri_str = format!(
792            "{}/accounts/delete-recover",
793            local_var_configuration.base_path
794        );
795        let mut local_var_req_builder =
796            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
797
798        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
799            local_var_req_builder = local_var_req_builder
800                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
801        }
802        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
803            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
804        };
805        local_var_req_builder = local_var_req_builder.json(&delete_recover_request_model);
806
807        let local_var_req = local_var_req_builder.build()?;
808        let local_var_resp = local_var_client.execute(local_var_req).await?;
809
810        let local_var_status = local_var_resp.status();
811        let local_var_content = local_var_resp.text().await?;
812
813        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
814            Ok(())
815        } else {
816            let local_var_entity: Option<PostDeleteRecoverError> =
817                serde_json::from_str(&local_var_content).ok();
818            let local_var_error = ResponseContent {
819                status: local_var_status,
820                content: local_var_content,
821                entity: local_var_entity,
822            };
823            Err(Error::ResponseError(local_var_error))
824        }
825    }
826
827    async fn post_delete_recover_token<'a>(
828        &self,
829        verify_delete_recover_request_model: Option<models::VerifyDeleteRecoverRequestModel>,
830    ) -> Result<(), Error<PostDeleteRecoverTokenError>> {
831        let local_var_configuration = &self.configuration;
832
833        let local_var_client = &local_var_configuration.client;
834
835        let local_var_uri_str = format!(
836            "{}/accounts/delete-recover-token",
837            local_var_configuration.base_path
838        );
839        let mut local_var_req_builder =
840            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
841
842        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
843            local_var_req_builder = local_var_req_builder
844                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
845        }
846        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
847            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
848        };
849        local_var_req_builder = local_var_req_builder.json(&verify_delete_recover_request_model);
850
851        let local_var_req = local_var_req_builder.build()?;
852        let local_var_resp = local_var_client.execute(local_var_req).await?;
853
854        let local_var_status = local_var_resp.status();
855        let local_var_content = local_var_resp.text().await?;
856
857        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
858            Ok(())
859        } else {
860            let local_var_entity: Option<PostDeleteRecoverTokenError> =
861                serde_json::from_str(&local_var_content).ok();
862            let local_var_error = ResponseContent {
863                status: local_var_status,
864                content: local_var_content,
865                entity: local_var_entity,
866            };
867            Err(Error::ResponseError(local_var_error))
868        }
869    }
870
871    async fn post_email<'a>(
872        &self,
873        email_request_model: Option<models::EmailRequestModel>,
874    ) -> Result<(), Error<PostEmailError>> {
875        let local_var_configuration = &self.configuration;
876
877        let local_var_client = &local_var_configuration.client;
878
879        let local_var_uri_str = format!("{}/accounts/email", local_var_configuration.base_path);
880        let mut local_var_req_builder =
881            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
882
883        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
884            local_var_req_builder = local_var_req_builder
885                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
886        }
887        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
888            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
889        };
890        local_var_req_builder = local_var_req_builder.json(&email_request_model);
891
892        let local_var_req = local_var_req_builder.build()?;
893        let local_var_resp = local_var_client.execute(local_var_req).await?;
894
895        let local_var_status = local_var_resp.status();
896        let local_var_content = local_var_resp.text().await?;
897
898        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
899            Ok(())
900        } else {
901            let local_var_entity: Option<PostEmailError> =
902                serde_json::from_str(&local_var_content).ok();
903            let local_var_error = ResponseContent {
904                status: local_var_status,
905                content: local_var_content,
906                entity: local_var_entity,
907            };
908            Err(Error::ResponseError(local_var_error))
909        }
910    }
911
912    async fn post_email_token<'a>(
913        &self,
914        email_token_request_model: Option<models::EmailTokenRequestModel>,
915    ) -> Result<(), Error<PostEmailTokenError>> {
916        let local_var_configuration = &self.configuration;
917
918        let local_var_client = &local_var_configuration.client;
919
920        let local_var_uri_str =
921            format!("{}/accounts/email-token", local_var_configuration.base_path);
922        let mut local_var_req_builder =
923            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
924
925        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
926            local_var_req_builder = local_var_req_builder
927                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
928        }
929        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
930            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
931        };
932        local_var_req_builder = local_var_req_builder.json(&email_token_request_model);
933
934        let local_var_req = local_var_req_builder.build()?;
935        let local_var_resp = local_var_client.execute(local_var_req).await?;
936
937        let local_var_status = local_var_resp.status();
938        let local_var_content = local_var_resp.text().await?;
939
940        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
941            Ok(())
942        } else {
943            let local_var_entity: Option<PostEmailTokenError> =
944                serde_json::from_str(&local_var_content).ok();
945            let local_var_error = ResponseContent {
946                status: local_var_status,
947                content: local_var_content,
948                entity: local_var_entity,
949            };
950            Err(Error::ResponseError(local_var_error))
951        }
952    }
953
954    async fn post_kdf<'a>(
955        &self,
956        password_request_model: Option<models::PasswordRequestModel>,
957    ) -> Result<(), Error<PostKdfError>> {
958        let local_var_configuration = &self.configuration;
959
960        let local_var_client = &local_var_configuration.client;
961
962        let local_var_uri_str = format!("{}/accounts/kdf", local_var_configuration.base_path);
963        let mut local_var_req_builder =
964            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
965
966        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
967            local_var_req_builder = local_var_req_builder
968                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
969        }
970        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
971            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
972        };
973        local_var_req_builder = local_var_req_builder.json(&password_request_model);
974
975        let local_var_req = local_var_req_builder.build()?;
976        let local_var_resp = local_var_client.execute(local_var_req).await?;
977
978        let local_var_status = local_var_resp.status();
979        let local_var_content = local_var_resp.text().await?;
980
981        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
982            Ok(())
983        } else {
984            let local_var_entity: Option<PostKdfError> =
985                serde_json::from_str(&local_var_content).ok();
986            let local_var_error = ResponseContent {
987                status: local_var_status,
988                content: local_var_content,
989                entity: local_var_entity,
990            };
991            Err(Error::ResponseError(local_var_error))
992        }
993    }
994
995    async fn post_keys<'a>(
996        &self,
997        keys_request_model: Option<models::KeysRequestModel>,
998    ) -> Result<models::KeysResponseModel, Error<PostKeysError>> {
999        let local_var_configuration = &self.configuration;
1000
1001        let local_var_client = &local_var_configuration.client;
1002
1003        let local_var_uri_str = format!("{}/accounts/keys", local_var_configuration.base_path);
1004        let mut local_var_req_builder =
1005            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1006
1007        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1008            local_var_req_builder = local_var_req_builder
1009                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1010        }
1011        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1012            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1013        };
1014        local_var_req_builder = local_var_req_builder.json(&keys_request_model);
1015
1016        let local_var_req = local_var_req_builder.build()?;
1017        let local_var_resp = local_var_client.execute(local_var_req).await?;
1018
1019        let local_var_status = local_var_resp.status();
1020        let local_var_content_type = local_var_resp
1021            .headers()
1022            .get("content-type")
1023            .and_then(|v| v.to_str().ok())
1024            .unwrap_or("application/octet-stream");
1025        let local_var_content_type = super::ContentType::from(local_var_content_type);
1026        let local_var_content = local_var_resp.text().await?;
1027
1028        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1029            match local_var_content_type {
1030                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1031                ContentType::Text => {
1032                    return Err(Error::from(serde_json::Error::custom(
1033                        "Received `text/plain` content type response that cannot be converted to `models::KeysResponseModel`",
1034                    )));
1035                }
1036                ContentType::Unsupported(local_var_unknown_type) => {
1037                    return Err(Error::from(serde_json::Error::custom(format!(
1038                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::KeysResponseModel`"
1039                    ))));
1040                }
1041            }
1042        } else {
1043            let local_var_entity: Option<PostKeysError> =
1044                serde_json::from_str(&local_var_content).ok();
1045            let local_var_error = ResponseContent {
1046                status: local_var_status,
1047                content: local_var_content,
1048                entity: local_var_entity,
1049            };
1050            Err(Error::ResponseError(local_var_error))
1051        }
1052    }
1053
1054    async fn post_license<'a>(
1055        &self,
1056        license: std::path::PathBuf,
1057    ) -> Result<(), Error<PostLicenseError>> {
1058        let local_var_configuration = &self.configuration;
1059
1060        let local_var_client = &local_var_configuration.client;
1061
1062        let local_var_uri_str = format!("{}/accounts/license", local_var_configuration.base_path);
1063        let mut local_var_req_builder =
1064            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1065
1066        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1067            local_var_req_builder = local_var_req_builder
1068                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1069        }
1070        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1071            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1072        };
1073        let mut local_var_form = reqwest::multipart::Form::new();
1074        // TODO: support file upload for 'license' parameter
1075        local_var_req_builder = local_var_req_builder.multipart(local_var_form);
1076
1077        let local_var_req = local_var_req_builder.build()?;
1078        let local_var_resp = local_var_client.execute(local_var_req).await?;
1079
1080        let local_var_status = local_var_resp.status();
1081        let local_var_content = local_var_resp.text().await?;
1082
1083        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1084            Ok(())
1085        } else {
1086            let local_var_entity: Option<PostLicenseError> =
1087                serde_json::from_str(&local_var_content).ok();
1088            let local_var_error = ResponseContent {
1089                status: local_var_status,
1090                content: local_var_content,
1091                entity: local_var_entity,
1092            };
1093            Err(Error::ResponseError(local_var_error))
1094        }
1095    }
1096
1097    async fn post_password<'a>(
1098        &self,
1099        password_request_model: Option<models::PasswordRequestModel>,
1100    ) -> Result<(), Error<PostPasswordError>> {
1101        let local_var_configuration = &self.configuration;
1102
1103        let local_var_client = &local_var_configuration.client;
1104
1105        let local_var_uri_str = format!("{}/accounts/password", local_var_configuration.base_path);
1106        let mut local_var_req_builder =
1107            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1108
1109        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1110            local_var_req_builder = local_var_req_builder
1111                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1112        }
1113        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1114            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1115        };
1116        local_var_req_builder = local_var_req_builder.json(&password_request_model);
1117
1118        let local_var_req = local_var_req_builder.build()?;
1119        let local_var_resp = local_var_client.execute(local_var_req).await?;
1120
1121        let local_var_status = local_var_resp.status();
1122        let local_var_content = local_var_resp.text().await?;
1123
1124        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1125            Ok(())
1126        } else {
1127            let local_var_entity: Option<PostPasswordError> =
1128                serde_json::from_str(&local_var_content).ok();
1129            let local_var_error = ResponseContent {
1130                status: local_var_status,
1131                content: local_var_content,
1132                entity: local_var_entity,
1133            };
1134            Err(Error::ResponseError(local_var_error))
1135        }
1136    }
1137
1138    async fn post_password_hint<'a>(
1139        &self,
1140        password_hint_request_model: Option<models::PasswordHintRequestModel>,
1141    ) -> Result<(), Error<PostPasswordHintError>> {
1142        let local_var_configuration = &self.configuration;
1143
1144        let local_var_client = &local_var_configuration.client;
1145
1146        let local_var_uri_str = format!(
1147            "{}/accounts/password-hint",
1148            local_var_configuration.base_path
1149        );
1150        let mut local_var_req_builder =
1151            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1152
1153        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1154            local_var_req_builder = local_var_req_builder
1155                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1156        }
1157        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1158            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1159        };
1160        local_var_req_builder = local_var_req_builder.json(&password_hint_request_model);
1161
1162        let local_var_req = local_var_req_builder.build()?;
1163        let local_var_resp = local_var_client.execute(local_var_req).await?;
1164
1165        let local_var_status = local_var_resp.status();
1166        let local_var_content = local_var_resp.text().await?;
1167
1168        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1169            Ok(())
1170        } else {
1171            let local_var_entity: Option<PostPasswordHintError> =
1172                serde_json::from_str(&local_var_content).ok();
1173            let local_var_error = ResponseContent {
1174                status: local_var_status,
1175                content: local_var_content,
1176                entity: local_var_entity,
1177            };
1178            Err(Error::ResponseError(local_var_error))
1179        }
1180    }
1181
1182    async fn post_premium<'a>(
1183        &self,
1184        payment_method_type: models::PaymentMethodType,
1185        payment_token: Option<&'a str>,
1186        additional_storage_gb: Option<i32>,
1187        country: Option<&'a str>,
1188        postal_code: Option<&'a str>,
1189        license: Option<std::path::PathBuf>,
1190    ) -> Result<models::PaymentResponseModel, Error<PostPremiumError>> {
1191        let local_var_configuration = &self.configuration;
1192
1193        let local_var_client = &local_var_configuration.client;
1194
1195        let local_var_uri_str = format!("{}/accounts/premium", local_var_configuration.base_path);
1196        let mut local_var_req_builder =
1197            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1198
1199        local_var_req_builder =
1200            local_var_req_builder.query(&[("paymentMethodType", &payment_method_type.to_string())]);
1201        if let Some(ref param_value) = payment_token {
1202            local_var_req_builder =
1203                local_var_req_builder.query(&[("paymentToken", &param_value.to_string())]);
1204        }
1205        if let Some(ref param_value) = additional_storage_gb {
1206            local_var_req_builder =
1207                local_var_req_builder.query(&[("additionalStorageGb", &param_value.to_string())]);
1208        }
1209        if let Some(ref param_value) = country {
1210            local_var_req_builder =
1211                local_var_req_builder.query(&[("country", &param_value.to_string())]);
1212        }
1213        if let Some(ref param_value) = postal_code {
1214            local_var_req_builder =
1215                local_var_req_builder.query(&[("postalCode", &param_value.to_string())]);
1216        }
1217        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1218            local_var_req_builder = local_var_req_builder
1219                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1220        }
1221        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1222            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1223        };
1224        let mut local_var_form = reqwest::multipart::Form::new();
1225        // TODO: support file upload for 'license' parameter
1226        local_var_req_builder = local_var_req_builder.multipart(local_var_form);
1227
1228        let local_var_req = local_var_req_builder.build()?;
1229        let local_var_resp = local_var_client.execute(local_var_req).await?;
1230
1231        let local_var_status = local_var_resp.status();
1232        let local_var_content_type = local_var_resp
1233            .headers()
1234            .get("content-type")
1235            .and_then(|v| v.to_str().ok())
1236            .unwrap_or("application/octet-stream");
1237        let local_var_content_type = super::ContentType::from(local_var_content_type);
1238        let local_var_content = local_var_resp.text().await?;
1239
1240        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1241            match local_var_content_type {
1242                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1243                ContentType::Text => {
1244                    return Err(Error::from(serde_json::Error::custom(
1245                        "Received `text/plain` content type response that cannot be converted to `models::PaymentResponseModel`",
1246                    )));
1247                }
1248                ContentType::Unsupported(local_var_unknown_type) => {
1249                    return Err(Error::from(serde_json::Error::custom(format!(
1250                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::PaymentResponseModel`"
1251                    ))));
1252                }
1253            }
1254        } else {
1255            let local_var_entity: Option<PostPremiumError> =
1256                serde_json::from_str(&local_var_content).ok();
1257            let local_var_error = ResponseContent {
1258                status: local_var_status,
1259                content: local_var_content,
1260                entity: local_var_entity,
1261            };
1262            Err(Error::ResponseError(local_var_error))
1263        }
1264    }
1265
1266    async fn post_reinstate(&self) -> Result<(), Error<PostReinstateError>> {
1267        let local_var_configuration = &self.configuration;
1268
1269        let local_var_client = &local_var_configuration.client;
1270
1271        let local_var_uri_str = format!(
1272            "{}/accounts/reinstate-premium",
1273            local_var_configuration.base_path
1274        );
1275        let mut local_var_req_builder =
1276            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1277
1278        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1279            local_var_req_builder = local_var_req_builder
1280                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1281        }
1282        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1283            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1284        };
1285
1286        let local_var_req = local_var_req_builder.build()?;
1287        let local_var_resp = local_var_client.execute(local_var_req).await?;
1288
1289        let local_var_status = local_var_resp.status();
1290        let local_var_content = local_var_resp.text().await?;
1291
1292        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1293            Ok(())
1294        } else {
1295            let local_var_entity: Option<PostReinstateError> =
1296                serde_json::from_str(&local_var_content).ok();
1297            let local_var_error = ResponseContent {
1298                status: local_var_status,
1299                content: local_var_content,
1300                entity: local_var_entity,
1301            };
1302            Err(Error::ResponseError(local_var_error))
1303        }
1304    }
1305
1306    async fn post_request_otp(&self) -> Result<(), Error<PostRequestOTPError>> {
1307        let local_var_configuration = &self.configuration;
1308
1309        let local_var_client = &local_var_configuration.client;
1310
1311        let local_var_uri_str =
1312            format!("{}/accounts/request-otp", local_var_configuration.base_path);
1313        let mut local_var_req_builder =
1314            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1315
1316        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1317            local_var_req_builder = local_var_req_builder
1318                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1319        }
1320        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1321            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1322        };
1323
1324        let local_var_req = local_var_req_builder.build()?;
1325        let local_var_resp = local_var_client.execute(local_var_req).await?;
1326
1327        let local_var_status = local_var_resp.status();
1328        let local_var_content = local_var_resp.text().await?;
1329
1330        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1331            Ok(())
1332        } else {
1333            let local_var_entity: Option<PostRequestOTPError> =
1334                serde_json::from_str(&local_var_content).ok();
1335            let local_var_error = ResponseContent {
1336                status: local_var_status,
1337                content: local_var_content,
1338                entity: local_var_entity,
1339            };
1340            Err(Error::ResponseError(local_var_error))
1341        }
1342    }
1343
1344    async fn post_security_stamp<'a>(
1345        &self,
1346        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
1347    ) -> Result<(), Error<PostSecurityStampError>> {
1348        let local_var_configuration = &self.configuration;
1349
1350        let local_var_client = &local_var_configuration.client;
1351
1352        let local_var_uri_str = format!(
1353            "{}/accounts/security-stamp",
1354            local_var_configuration.base_path
1355        );
1356        let mut local_var_req_builder =
1357            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1358
1359        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1360            local_var_req_builder = local_var_req_builder
1361                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1362        }
1363        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1364            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1365        };
1366        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
1367
1368        let local_var_req = local_var_req_builder.build()?;
1369        let local_var_resp = local_var_client.execute(local_var_req).await?;
1370
1371        let local_var_status = local_var_resp.status();
1372        let local_var_content = local_var_resp.text().await?;
1373
1374        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1375            Ok(())
1376        } else {
1377            let local_var_entity: Option<PostSecurityStampError> =
1378                serde_json::from_str(&local_var_content).ok();
1379            let local_var_error = ResponseContent {
1380                status: local_var_status,
1381                content: local_var_content,
1382                entity: local_var_entity,
1383            };
1384            Err(Error::ResponseError(local_var_error))
1385        }
1386    }
1387
1388    async fn post_set_password<'a>(
1389        &self,
1390        set_password_request_model: Option<models::SetPasswordRequestModel>,
1391    ) -> Result<(), Error<PostSetPasswordError>> {
1392        let local_var_configuration = &self.configuration;
1393
1394        let local_var_client = &local_var_configuration.client;
1395
1396        let local_var_uri_str = format!(
1397            "{}/accounts/set-password",
1398            local_var_configuration.base_path
1399        );
1400        let mut local_var_req_builder =
1401            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1402
1403        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1404            local_var_req_builder = local_var_req_builder
1405                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1406        }
1407        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1408            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1409        };
1410        local_var_req_builder = local_var_req_builder.json(&set_password_request_model);
1411
1412        let local_var_req = local_var_req_builder.build()?;
1413        let local_var_resp = local_var_client.execute(local_var_req).await?;
1414
1415        let local_var_status = local_var_resp.status();
1416        let local_var_content = local_var_resp.text().await?;
1417
1418        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1419            Ok(())
1420        } else {
1421            let local_var_entity: Option<PostSetPasswordError> =
1422                serde_json::from_str(&local_var_content).ok();
1423            let local_var_error = ResponseContent {
1424                status: local_var_status,
1425                content: local_var_content,
1426                entity: local_var_entity,
1427            };
1428            Err(Error::ResponseError(local_var_error))
1429        }
1430    }
1431
1432    async fn post_storage<'a>(
1433        &self,
1434        storage_request_model: Option<models::StorageRequestModel>,
1435    ) -> Result<models::PaymentResponseModel, Error<PostStorageError>> {
1436        let local_var_configuration = &self.configuration;
1437
1438        let local_var_client = &local_var_configuration.client;
1439
1440        let local_var_uri_str = format!("{}/accounts/storage", local_var_configuration.base_path);
1441        let mut local_var_req_builder =
1442            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1443
1444        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1445            local_var_req_builder = local_var_req_builder
1446                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1447        }
1448        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1449            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1450        };
1451        local_var_req_builder = local_var_req_builder.json(&storage_request_model);
1452
1453        let local_var_req = local_var_req_builder.build()?;
1454        let local_var_resp = local_var_client.execute(local_var_req).await?;
1455
1456        let local_var_status = local_var_resp.status();
1457        let local_var_content_type = local_var_resp
1458            .headers()
1459            .get("content-type")
1460            .and_then(|v| v.to_str().ok())
1461            .unwrap_or("application/octet-stream");
1462        let local_var_content_type = super::ContentType::from(local_var_content_type);
1463        let local_var_content = local_var_resp.text().await?;
1464
1465        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1466            match local_var_content_type {
1467                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1468                ContentType::Text => {
1469                    return Err(Error::from(serde_json::Error::custom(
1470                        "Received `text/plain` content type response that cannot be converted to `models::PaymentResponseModel`",
1471                    )));
1472                }
1473                ContentType::Unsupported(local_var_unknown_type) => {
1474                    return Err(Error::from(serde_json::Error::custom(format!(
1475                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::PaymentResponseModel`"
1476                    ))));
1477                }
1478            }
1479        } else {
1480            let local_var_entity: Option<PostStorageError> =
1481                serde_json::from_str(&local_var_content).ok();
1482            let local_var_error = ResponseContent {
1483                status: local_var_status,
1484                content: local_var_content,
1485                entity: local_var_entity,
1486            };
1487            Err(Error::ResponseError(local_var_error))
1488        }
1489    }
1490
1491    async fn post_verify_email(&self) -> Result<(), Error<PostVerifyEmailError>> {
1492        let local_var_configuration = &self.configuration;
1493
1494        let local_var_client = &local_var_configuration.client;
1495
1496        let local_var_uri_str = format!(
1497            "{}/accounts/verify-email",
1498            local_var_configuration.base_path
1499        );
1500        let mut local_var_req_builder =
1501            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1502
1503        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1504            local_var_req_builder = local_var_req_builder
1505                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1506        }
1507        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1508            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1509        };
1510
1511        let local_var_req = local_var_req_builder.build()?;
1512        let local_var_resp = local_var_client.execute(local_var_req).await?;
1513
1514        let local_var_status = local_var_resp.status();
1515        let local_var_content = local_var_resp.text().await?;
1516
1517        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1518            Ok(())
1519        } else {
1520            let local_var_entity: Option<PostVerifyEmailError> =
1521                serde_json::from_str(&local_var_content).ok();
1522            let local_var_error = ResponseContent {
1523                status: local_var_status,
1524                content: local_var_content,
1525                entity: local_var_entity,
1526            };
1527            Err(Error::ResponseError(local_var_error))
1528        }
1529    }
1530
1531    async fn post_verify_email_token<'a>(
1532        &self,
1533        verify_email_request_model: Option<models::VerifyEmailRequestModel>,
1534    ) -> Result<(), Error<PostVerifyEmailTokenError>> {
1535        let local_var_configuration = &self.configuration;
1536
1537        let local_var_client = &local_var_configuration.client;
1538
1539        let local_var_uri_str = format!(
1540            "{}/accounts/verify-email-token",
1541            local_var_configuration.base_path
1542        );
1543        let mut local_var_req_builder =
1544            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1545
1546        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1547            local_var_req_builder = local_var_req_builder
1548                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1549        }
1550        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1551            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1552        };
1553        local_var_req_builder = local_var_req_builder.json(&verify_email_request_model);
1554
1555        let local_var_req = local_var_req_builder.build()?;
1556        let local_var_resp = local_var_client.execute(local_var_req).await?;
1557
1558        let local_var_status = local_var_resp.status();
1559        let local_var_content = local_var_resp.text().await?;
1560
1561        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1562            Ok(())
1563        } else {
1564            let local_var_entity: Option<PostVerifyEmailTokenError> =
1565                serde_json::from_str(&local_var_content).ok();
1566            let local_var_error = ResponseContent {
1567                status: local_var_status,
1568                content: local_var_content,
1569                entity: local_var_entity,
1570            };
1571            Err(Error::ResponseError(local_var_error))
1572        }
1573    }
1574
1575    async fn post_verify_password<'a>(
1576        &self,
1577        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
1578    ) -> Result<models::MasterPasswordPolicyResponseModel, Error<PostVerifyPasswordError>> {
1579        let local_var_configuration = &self.configuration;
1580
1581        let local_var_client = &local_var_configuration.client;
1582
1583        let local_var_uri_str = format!(
1584            "{}/accounts/verify-password",
1585            local_var_configuration.base_path
1586        );
1587        let mut local_var_req_builder =
1588            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1589
1590        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1591            local_var_req_builder = local_var_req_builder
1592                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1593        }
1594        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1595            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1596        };
1597        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
1598
1599        let local_var_req = local_var_req_builder.build()?;
1600        let local_var_resp = local_var_client.execute(local_var_req).await?;
1601
1602        let local_var_status = local_var_resp.status();
1603        let local_var_content_type = local_var_resp
1604            .headers()
1605            .get("content-type")
1606            .and_then(|v| v.to_str().ok())
1607            .unwrap_or("application/octet-stream");
1608        let local_var_content_type = super::ContentType::from(local_var_content_type);
1609        let local_var_content = local_var_resp.text().await?;
1610
1611        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1612            match local_var_content_type {
1613                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1614                ContentType::Text => {
1615                    return Err(Error::from(serde_json::Error::custom(
1616                        "Received `text/plain` content type response that cannot be converted to `models::MasterPasswordPolicyResponseModel`",
1617                    )));
1618                }
1619                ContentType::Unsupported(local_var_unknown_type) => {
1620                    return Err(Error::from(serde_json::Error::custom(format!(
1621                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::MasterPasswordPolicyResponseModel`"
1622                    ))));
1623                }
1624            }
1625        } else {
1626            let local_var_entity: Option<PostVerifyPasswordError> =
1627                serde_json::from_str(&local_var_content).ok();
1628            let local_var_error = ResponseContent {
1629                status: local_var_status,
1630                content: local_var_content,
1631                entity: local_var_entity,
1632            };
1633            Err(Error::ResponseError(local_var_error))
1634        }
1635    }
1636
1637    async fn put_avatar<'a>(
1638        &self,
1639        update_avatar_request_model: Option<models::UpdateAvatarRequestModel>,
1640    ) -> Result<models::ProfileResponseModel, Error<PutAvatarError>> {
1641        let local_var_configuration = &self.configuration;
1642
1643        let local_var_client = &local_var_configuration.client;
1644
1645        let local_var_uri_str = format!("{}/accounts/avatar", local_var_configuration.base_path);
1646        let mut local_var_req_builder =
1647            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1648
1649        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1650            local_var_req_builder = local_var_req_builder
1651                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1652        }
1653        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1654            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1655        };
1656        local_var_req_builder = local_var_req_builder.json(&update_avatar_request_model);
1657
1658        let local_var_req = local_var_req_builder.build()?;
1659        let local_var_resp = local_var_client.execute(local_var_req).await?;
1660
1661        let local_var_status = local_var_resp.status();
1662        let local_var_content_type = local_var_resp
1663            .headers()
1664            .get("content-type")
1665            .and_then(|v| v.to_str().ok())
1666            .unwrap_or("application/octet-stream");
1667        let local_var_content_type = super::ContentType::from(local_var_content_type);
1668        let local_var_content = local_var_resp.text().await?;
1669
1670        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1671            match local_var_content_type {
1672                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1673                ContentType::Text => {
1674                    return Err(Error::from(serde_json::Error::custom(
1675                        "Received `text/plain` content type response that cannot be converted to `models::ProfileResponseModel`",
1676                    )));
1677                }
1678                ContentType::Unsupported(local_var_unknown_type) => {
1679                    return Err(Error::from(serde_json::Error::custom(format!(
1680                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ProfileResponseModel`"
1681                    ))));
1682                }
1683            }
1684        } else {
1685            let local_var_entity: Option<PutAvatarError> =
1686                serde_json::from_str(&local_var_content).ok();
1687            let local_var_error = ResponseContent {
1688                status: local_var_status,
1689                content: local_var_content,
1690                entity: local_var_entity,
1691            };
1692            Err(Error::ResponseError(local_var_error))
1693        }
1694    }
1695
1696    async fn put_profile<'a>(
1697        &self,
1698        update_profile_request_model: Option<models::UpdateProfileRequestModel>,
1699    ) -> Result<models::ProfileResponseModel, Error<PutProfileError>> {
1700        let local_var_configuration = &self.configuration;
1701
1702        let local_var_client = &local_var_configuration.client;
1703
1704        let local_var_uri_str = format!("{}/accounts/profile", local_var_configuration.base_path);
1705        let mut local_var_req_builder =
1706            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1707
1708        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1709            local_var_req_builder = local_var_req_builder
1710                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1711        }
1712        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1713            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1714        };
1715        local_var_req_builder = local_var_req_builder.json(&update_profile_request_model);
1716
1717        let local_var_req = local_var_req_builder.build()?;
1718        let local_var_resp = local_var_client.execute(local_var_req).await?;
1719
1720        let local_var_status = local_var_resp.status();
1721        let local_var_content_type = local_var_resp
1722            .headers()
1723            .get("content-type")
1724            .and_then(|v| v.to_str().ok())
1725            .unwrap_or("application/octet-stream");
1726        let local_var_content_type = super::ContentType::from(local_var_content_type);
1727        let local_var_content = local_var_resp.text().await?;
1728
1729        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1730            match local_var_content_type {
1731                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1732                ContentType::Text => {
1733                    return Err(Error::from(serde_json::Error::custom(
1734                        "Received `text/plain` content type response that cannot be converted to `models::ProfileResponseModel`",
1735                    )));
1736                }
1737                ContentType::Unsupported(local_var_unknown_type) => {
1738                    return Err(Error::from(serde_json::Error::custom(format!(
1739                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ProfileResponseModel`"
1740                    ))));
1741                }
1742            }
1743        } else {
1744            let local_var_entity: Option<PutProfileError> =
1745                serde_json::from_str(&local_var_content).ok();
1746            let local_var_error = ResponseContent {
1747                status: local_var_status,
1748                content: local_var_content,
1749                entity: local_var_entity,
1750            };
1751            Err(Error::ResponseError(local_var_error))
1752        }
1753    }
1754
1755    async fn put_update_tde_password<'a>(
1756        &self,
1757        update_tde_offboarding_password_request_model: Option<
1758            models::UpdateTdeOffboardingPasswordRequestModel,
1759        >,
1760    ) -> Result<(), Error<PutUpdateTdePasswordError>> {
1761        let local_var_configuration = &self.configuration;
1762
1763        let local_var_client = &local_var_configuration.client;
1764
1765        let local_var_uri_str = format!(
1766            "{}/accounts/update-tde-offboarding-password",
1767            local_var_configuration.base_path
1768        );
1769        let mut local_var_req_builder =
1770            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1771
1772        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1773            local_var_req_builder = local_var_req_builder
1774                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1775        }
1776        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1777            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1778        };
1779        local_var_req_builder =
1780            local_var_req_builder.json(&update_tde_offboarding_password_request_model);
1781
1782        let local_var_req = local_var_req_builder.build()?;
1783        let local_var_resp = local_var_client.execute(local_var_req).await?;
1784
1785        let local_var_status = local_var_resp.status();
1786        let local_var_content = local_var_resp.text().await?;
1787
1788        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1789            Ok(())
1790        } else {
1791            let local_var_entity: Option<PutUpdateTdePasswordError> =
1792                serde_json::from_str(&local_var_content).ok();
1793            let local_var_error = ResponseContent {
1794                status: local_var_status,
1795                content: local_var_content,
1796                entity: local_var_entity,
1797            };
1798            Err(Error::ResponseError(local_var_error))
1799        }
1800    }
1801
1802    async fn put_update_temp_password<'a>(
1803        &self,
1804        update_temp_password_request_model: Option<models::UpdateTempPasswordRequestModel>,
1805    ) -> Result<(), Error<PutUpdateTempPasswordError>> {
1806        let local_var_configuration = &self.configuration;
1807
1808        let local_var_client = &local_var_configuration.client;
1809
1810        let local_var_uri_str = format!(
1811            "{}/accounts/update-temp-password",
1812            local_var_configuration.base_path
1813        );
1814        let mut local_var_req_builder =
1815            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1816
1817        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1818            local_var_req_builder = local_var_req_builder
1819                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1820        }
1821        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1822            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1823        };
1824        local_var_req_builder = local_var_req_builder.json(&update_temp_password_request_model);
1825
1826        let local_var_req = local_var_req_builder.build()?;
1827        let local_var_resp = local_var_client.execute(local_var_req).await?;
1828
1829        let local_var_status = local_var_resp.status();
1830        let local_var_content = local_var_resp.text().await?;
1831
1832        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1833            Ok(())
1834        } else {
1835            let local_var_entity: Option<PutUpdateTempPasswordError> =
1836                serde_json::from_str(&local_var_content).ok();
1837            let local_var_error = ResponseContent {
1838                status: local_var_status,
1839                content: local_var_content,
1840                entity: local_var_entity,
1841            };
1842            Err(Error::ResponseError(local_var_error))
1843        }
1844    }
1845
1846    async fn resend_new_device_otp<'a>(
1847        &self,
1848        unauthenticated_secret_verification_request_model: Option<
1849            models::UnauthenticatedSecretVerificationRequestModel,
1850        >,
1851    ) -> Result<(), Error<ResendNewDeviceOtpError>> {
1852        let local_var_configuration = &self.configuration;
1853
1854        let local_var_client = &local_var_configuration.client;
1855
1856        let local_var_uri_str = format!(
1857            "{}/accounts/resend-new-device-otp",
1858            local_var_configuration.base_path
1859        );
1860        let mut local_var_req_builder =
1861            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1862
1863        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1864            local_var_req_builder = local_var_req_builder
1865                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1866        }
1867        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1868            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1869        };
1870        local_var_req_builder =
1871            local_var_req_builder.json(&unauthenticated_secret_verification_request_model);
1872
1873        let local_var_req = local_var_req_builder.build()?;
1874        let local_var_resp = local_var_client.execute(local_var_req).await?;
1875
1876        let local_var_status = local_var_resp.status();
1877        let local_var_content = local_var_resp.text().await?;
1878
1879        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1880            Ok(())
1881        } else {
1882            let local_var_entity: Option<ResendNewDeviceOtpError> =
1883                serde_json::from_str(&local_var_content).ok();
1884            let local_var_error = ResponseContent {
1885                status: local_var_status,
1886                content: local_var_content,
1887                entity: local_var_entity,
1888            };
1889            Err(Error::ResponseError(local_var_error))
1890        }
1891    }
1892
1893    async fn rotate_api_key<'a>(
1894        &self,
1895        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
1896    ) -> Result<models::ApiKeyResponseModel, Error<RotateApiKeyError>> {
1897        let local_var_configuration = &self.configuration;
1898
1899        let local_var_client = &local_var_configuration.client;
1900
1901        let local_var_uri_str = format!(
1902            "{}/accounts/rotate-api-key",
1903            local_var_configuration.base_path
1904        );
1905        let mut local_var_req_builder =
1906            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1907
1908        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1909            local_var_req_builder = local_var_req_builder
1910                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1911        }
1912        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1913            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1914        };
1915        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
1916
1917        let local_var_req = local_var_req_builder.build()?;
1918        let local_var_resp = local_var_client.execute(local_var_req).await?;
1919
1920        let local_var_status = local_var_resp.status();
1921        let local_var_content_type = local_var_resp
1922            .headers()
1923            .get("content-type")
1924            .and_then(|v| v.to_str().ok())
1925            .unwrap_or("application/octet-stream");
1926        let local_var_content_type = super::ContentType::from(local_var_content_type);
1927        let local_var_content = local_var_resp.text().await?;
1928
1929        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1930            match local_var_content_type {
1931                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
1932                ContentType::Text => {
1933                    return Err(Error::from(serde_json::Error::custom(
1934                        "Received `text/plain` content type response that cannot be converted to `models::ApiKeyResponseModel`",
1935                    )));
1936                }
1937                ContentType::Unsupported(local_var_unknown_type) => {
1938                    return Err(Error::from(serde_json::Error::custom(format!(
1939                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::ApiKeyResponseModel`"
1940                    ))));
1941                }
1942            }
1943        } else {
1944            let local_var_entity: Option<RotateApiKeyError> =
1945                serde_json::from_str(&local_var_content).ok();
1946            let local_var_error = ResponseContent {
1947                status: local_var_status,
1948                content: local_var_content,
1949                entity: local_var_entity,
1950            };
1951            Err(Error::ResponseError(local_var_error))
1952        }
1953    }
1954
1955    async fn set_user_verify_devices<'a>(
1956        &self,
1957        set_verify_devices_request_model: Option<models::SetVerifyDevicesRequestModel>,
1958    ) -> Result<(), Error<SetUserVerifyDevicesError>> {
1959        let local_var_configuration = &self.configuration;
1960
1961        let local_var_client = &local_var_configuration.client;
1962
1963        let local_var_uri_str = format!(
1964            "{}/accounts/verify-devices",
1965            local_var_configuration.base_path
1966        );
1967        let mut local_var_req_builder =
1968            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1969
1970        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1971            local_var_req_builder = local_var_req_builder
1972                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1973        }
1974        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1975            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1976        };
1977        local_var_req_builder = local_var_req_builder.json(&set_verify_devices_request_model);
1978
1979        let local_var_req = local_var_req_builder.build()?;
1980        let local_var_resp = local_var_client.execute(local_var_req).await?;
1981
1982        let local_var_status = local_var_resp.status();
1983        let local_var_content = local_var_resp.text().await?;
1984
1985        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1986            Ok(())
1987        } else {
1988            let local_var_entity: Option<SetUserVerifyDevicesError> =
1989                serde_json::from_str(&local_var_content).ok();
1990            let local_var_error = ResponseContent {
1991                status: local_var_status,
1992                content: local_var_content,
1993                entity: local_var_entity,
1994            };
1995            Err(Error::ResponseError(local_var_error))
1996        }
1997    }
1998
1999    async fn verify_otp<'a>(
2000        &self,
2001        verify_otp_request_model: Option<models::VerifyOtpRequestModel>,
2002    ) -> Result<(), Error<VerifyOTPError>> {
2003        let local_var_configuration = &self.configuration;
2004
2005        let local_var_client = &local_var_configuration.client;
2006
2007        let local_var_uri_str =
2008            format!("{}/accounts/verify-otp", local_var_configuration.base_path);
2009        let mut local_var_req_builder =
2010            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
2011
2012        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
2013            local_var_req_builder = local_var_req_builder
2014                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
2015        }
2016        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
2017            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
2018        };
2019        local_var_req_builder = local_var_req_builder.json(&verify_otp_request_model);
2020
2021        let local_var_req = local_var_req_builder.build()?;
2022        let local_var_resp = local_var_client.execute(local_var_req).await?;
2023
2024        let local_var_status = local_var_resp.status();
2025        let local_var_content = local_var_resp.text().await?;
2026
2027        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
2028            Ok(())
2029        } else {
2030            let local_var_entity: Option<VerifyOTPError> =
2031                serde_json::from_str(&local_var_content).ok();
2032            let local_var_error = ResponseContent {
2033                status: local_var_status,
2034                content: local_var_content,
2035                entity: local_var_entity,
2036            };
2037            Err(Error::ResponseError(local_var_error))
2038        }
2039    }
2040}
2041
2042/// struct for typed errors of method [`AccountsApi::api_key`]
2043#[derive(Debug, Clone, Serialize, Deserialize)]
2044#[serde(untagged)]
2045pub enum ApiKeyError {
2046    UnknownValue(serde_json::Value),
2047}
2048/// struct for typed errors of method [`AccountsApi::delete`]
2049#[derive(Debug, Clone, Serialize, Deserialize)]
2050#[serde(untagged)]
2051pub enum DeleteError {
2052    UnknownValue(serde_json::Value),
2053}
2054/// struct for typed errors of method [`AccountsApi::delete_sso_user`]
2055#[derive(Debug, Clone, Serialize, Deserialize)]
2056#[serde(untagged)]
2057pub enum DeleteSsoUserError {
2058    UnknownValue(serde_json::Value),
2059}
2060/// struct for typed errors of method [`AccountsApi::get_account_revision_date`]
2061#[derive(Debug, Clone, Serialize, Deserialize)]
2062#[serde(untagged)]
2063pub enum GetAccountRevisionDateError {
2064    UnknownValue(serde_json::Value),
2065}
2066/// struct for typed errors of method [`AccountsApi::get_keys`]
2067#[derive(Debug, Clone, Serialize, Deserialize)]
2068#[serde(untagged)]
2069pub enum GetKeysError {
2070    UnknownValue(serde_json::Value),
2071}
2072/// struct for typed errors of method [`AccountsApi::get_organizations`]
2073#[derive(Debug, Clone, Serialize, Deserialize)]
2074#[serde(untagged)]
2075pub enum GetOrganizationsError {
2076    UnknownValue(serde_json::Value),
2077}
2078/// struct for typed errors of method [`AccountsApi::get_profile`]
2079#[derive(Debug, Clone, Serialize, Deserialize)]
2080#[serde(untagged)]
2081pub enum GetProfileError {
2082    UnknownValue(serde_json::Value),
2083}
2084/// struct for typed errors of method [`AccountsApi::get_sso_user_identifier`]
2085#[derive(Debug, Clone, Serialize, Deserialize)]
2086#[serde(untagged)]
2087pub enum GetSsoUserIdentifierError {
2088    UnknownValue(serde_json::Value),
2089}
2090/// struct for typed errors of method [`AccountsApi::get_subscription`]
2091#[derive(Debug, Clone, Serialize, Deserialize)]
2092#[serde(untagged)]
2093pub enum GetSubscriptionError {
2094    UnknownValue(serde_json::Value),
2095}
2096/// struct for typed errors of method [`AccountsApi::post_cancel`]
2097#[derive(Debug, Clone, Serialize, Deserialize)]
2098#[serde(untagged)]
2099pub enum PostCancelError {
2100    UnknownValue(serde_json::Value),
2101}
2102/// struct for typed errors of method [`AccountsApi::post_delete_recover`]
2103#[derive(Debug, Clone, Serialize, Deserialize)]
2104#[serde(untagged)]
2105pub enum PostDeleteRecoverError {
2106    UnknownValue(serde_json::Value),
2107}
2108/// struct for typed errors of method [`AccountsApi::post_delete_recover_token`]
2109#[derive(Debug, Clone, Serialize, Deserialize)]
2110#[serde(untagged)]
2111pub enum PostDeleteRecoverTokenError {
2112    UnknownValue(serde_json::Value),
2113}
2114/// struct for typed errors of method [`AccountsApi::post_email`]
2115#[derive(Debug, Clone, Serialize, Deserialize)]
2116#[serde(untagged)]
2117pub enum PostEmailError {
2118    UnknownValue(serde_json::Value),
2119}
2120/// struct for typed errors of method [`AccountsApi::post_email_token`]
2121#[derive(Debug, Clone, Serialize, Deserialize)]
2122#[serde(untagged)]
2123pub enum PostEmailTokenError {
2124    UnknownValue(serde_json::Value),
2125}
2126/// struct for typed errors of method [`AccountsApi::post_kdf`]
2127#[derive(Debug, Clone, Serialize, Deserialize)]
2128#[serde(untagged)]
2129pub enum PostKdfError {
2130    UnknownValue(serde_json::Value),
2131}
2132/// struct for typed errors of method [`AccountsApi::post_keys`]
2133#[derive(Debug, Clone, Serialize, Deserialize)]
2134#[serde(untagged)]
2135pub enum PostKeysError {
2136    UnknownValue(serde_json::Value),
2137}
2138/// struct for typed errors of method [`AccountsApi::post_license`]
2139#[derive(Debug, Clone, Serialize, Deserialize)]
2140#[serde(untagged)]
2141pub enum PostLicenseError {
2142    UnknownValue(serde_json::Value),
2143}
2144/// struct for typed errors of method [`AccountsApi::post_password`]
2145#[derive(Debug, Clone, Serialize, Deserialize)]
2146#[serde(untagged)]
2147pub enum PostPasswordError {
2148    UnknownValue(serde_json::Value),
2149}
2150/// struct for typed errors of method [`AccountsApi::post_password_hint`]
2151#[derive(Debug, Clone, Serialize, Deserialize)]
2152#[serde(untagged)]
2153pub enum PostPasswordHintError {
2154    UnknownValue(serde_json::Value),
2155}
2156/// struct for typed errors of method [`AccountsApi::post_premium`]
2157#[derive(Debug, Clone, Serialize, Deserialize)]
2158#[serde(untagged)]
2159pub enum PostPremiumError {
2160    UnknownValue(serde_json::Value),
2161}
2162/// struct for typed errors of method [`AccountsApi::post_reinstate`]
2163#[derive(Debug, Clone, Serialize, Deserialize)]
2164#[serde(untagged)]
2165pub enum PostReinstateError {
2166    UnknownValue(serde_json::Value),
2167}
2168/// struct for typed errors of method [`AccountsApi::post_request_otp`]
2169#[derive(Debug, Clone, Serialize, Deserialize)]
2170#[serde(untagged)]
2171pub enum PostRequestOTPError {
2172    UnknownValue(serde_json::Value),
2173}
2174/// struct for typed errors of method [`AccountsApi::post_security_stamp`]
2175#[derive(Debug, Clone, Serialize, Deserialize)]
2176#[serde(untagged)]
2177pub enum PostSecurityStampError {
2178    UnknownValue(serde_json::Value),
2179}
2180/// struct for typed errors of method [`AccountsApi::post_set_password`]
2181#[derive(Debug, Clone, Serialize, Deserialize)]
2182#[serde(untagged)]
2183pub enum PostSetPasswordError {
2184    UnknownValue(serde_json::Value),
2185}
2186/// struct for typed errors of method [`AccountsApi::post_storage`]
2187#[derive(Debug, Clone, Serialize, Deserialize)]
2188#[serde(untagged)]
2189pub enum PostStorageError {
2190    UnknownValue(serde_json::Value),
2191}
2192/// struct for typed errors of method [`AccountsApi::post_verify_email`]
2193#[derive(Debug, Clone, Serialize, Deserialize)]
2194#[serde(untagged)]
2195pub enum PostVerifyEmailError {
2196    UnknownValue(serde_json::Value),
2197}
2198/// struct for typed errors of method [`AccountsApi::post_verify_email_token`]
2199#[derive(Debug, Clone, Serialize, Deserialize)]
2200#[serde(untagged)]
2201pub enum PostVerifyEmailTokenError {
2202    UnknownValue(serde_json::Value),
2203}
2204/// struct for typed errors of method [`AccountsApi::post_verify_password`]
2205#[derive(Debug, Clone, Serialize, Deserialize)]
2206#[serde(untagged)]
2207pub enum PostVerifyPasswordError {
2208    UnknownValue(serde_json::Value),
2209}
2210/// struct for typed errors of method [`AccountsApi::put_avatar`]
2211#[derive(Debug, Clone, Serialize, Deserialize)]
2212#[serde(untagged)]
2213pub enum PutAvatarError {
2214    UnknownValue(serde_json::Value),
2215}
2216/// struct for typed errors of method [`AccountsApi::put_profile`]
2217#[derive(Debug, Clone, Serialize, Deserialize)]
2218#[serde(untagged)]
2219pub enum PutProfileError {
2220    UnknownValue(serde_json::Value),
2221}
2222/// struct for typed errors of method [`AccountsApi::put_update_tde_password`]
2223#[derive(Debug, Clone, Serialize, Deserialize)]
2224#[serde(untagged)]
2225pub enum PutUpdateTdePasswordError {
2226    UnknownValue(serde_json::Value),
2227}
2228/// struct for typed errors of method [`AccountsApi::put_update_temp_password`]
2229#[derive(Debug, Clone, Serialize, Deserialize)]
2230#[serde(untagged)]
2231pub enum PutUpdateTempPasswordError {
2232    UnknownValue(serde_json::Value),
2233}
2234/// struct for typed errors of method [`AccountsApi::resend_new_device_otp`]
2235#[derive(Debug, Clone, Serialize, Deserialize)]
2236#[serde(untagged)]
2237pub enum ResendNewDeviceOtpError {
2238    UnknownValue(serde_json::Value),
2239}
2240/// struct for typed errors of method [`AccountsApi::rotate_api_key`]
2241#[derive(Debug, Clone, Serialize, Deserialize)]
2242#[serde(untagged)]
2243pub enum RotateApiKeyError {
2244    UnknownValue(serde_json::Value),
2245}
2246/// struct for typed errors of method [`AccountsApi::set_user_verify_devices`]
2247#[derive(Debug, Clone, Serialize, Deserialize)]
2248#[serde(untagged)]
2249pub enum SetUserVerifyDevicesError {
2250    UnknownValue(serde_json::Value),
2251}
2252/// struct for typed errors of method [`AccountsApi::verify_otp`]
2253#[derive(Debug, Clone, Serialize, Deserialize)]
2254#[serde(untagged)]
2255pub enum VerifyOTPError {
2256    UnknownValue(serde_json::Value),
2257}