Skip to main content

bitwarden_api_api/apis/
two_factor_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait TwoFactorApi: Send + Sync {
29    /// DELETE /two-factor/authenticator
30    async fn delete_authenticator<'a>(
31        &self,
32        two_factor_authenticator_delete_request_model: Option<
33            models::TwoFactorAuthenticatorDeleteRequestModel,
34        >,
35    ) -> Result<(), Error>;
36
37    /// DELETE /two-factor/duo
38    async fn delete_duo<'a>(
39        &self,
40        two_factor_duo_delete_request_model: Option<models::TwoFactorDuoDeleteRequestModel>,
41    ) -> Result<(), Error>;
42
43    /// DELETE /two-factor/email
44    async fn delete_email<'a>(
45        &self,
46        two_factor_email_delete_request_model: Option<models::TwoFactorEmailDeleteRequestModel>,
47    ) -> Result<(), Error>;
48
49    /// DELETE /organizations/{id}/two-factor/duo
50    async fn delete_organization_duo<'a>(
51        &self,
52        id: &'a str,
53        two_factor_organization_duo_delete_request_model: Option<
54            models::TwoFactorOrganizationDuoDeleteRequestModel,
55        >,
56    ) -> Result<(), Error>;
57
58    /// DELETE /two-factor/webauthn
59    async fn delete_web_authn<'a>(
60        &self,
61        two_factor_web_authn_delete_request_model: Option<
62            models::TwoFactorWebAuthnDeleteRequestModel,
63        >,
64    ) -> Result<models::TwoFactorWebAuthnDeleteResponseModel, Error>;
65
66    /// DELETE /two-factor/webauthn/all
67    async fn delete_web_authn_all<'a>(
68        &self,
69        two_factor_web_authn_delete_all_request_model: Option<
70            models::TwoFactorWebAuthnDeleteAllRequestModel,
71        >,
72    ) -> Result<(), Error>;
73
74    /// DELETE /two-factor/yubikey
75    async fn delete_yubi_key<'a>(
76        &self,
77        two_factor_yubi_key_delete_request_model: Option<
78            models::TwoFactorYubiKeyDeleteRequestModel,
79        >,
80    ) -> Result<(), Error>;
81
82    /// GET /two-factor
83    async fn get(&self) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error>;
84
85    /// POST /two-factor/get-authenticator
86    async fn get_authenticator<'a>(
87        &self,
88        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
89    ) -> Result<models::TwoFactorAuthenticatorResponseModel, Error>;
90
91    /// POST /two-factor/get-duo
92    async fn get_duo<'a>(
93        &self,
94        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
95    ) -> Result<models::TwoFactorDuoResponseModel, Error>;
96
97    /// POST /two-factor/get-email
98    async fn get_email<'a>(
99        &self,
100        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
101    ) -> Result<models::TwoFactorEmailResponseModel, Error>;
102
103    /// GET /organizations/{id}/two-factor
104    async fn get_organization<'a>(
105        &self,
106        id: &'a str,
107    ) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error>;
108
109    /// POST /organizations/{id}/two-factor/get-duo
110    async fn get_organization_duo<'a>(
111        &self,
112        id: &'a str,
113        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
114    ) -> Result<models::TwoFactorOrganizationDuoResponseModel, Error>;
115
116    /// POST /two-factor/get-recover
117    async fn get_recover<'a>(
118        &self,
119        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
120    ) -> Result<models::TwoFactorRecoverResponseModel, Error>;
121
122    /// POST /two-factor/get-webauthn
123    async fn get_web_authn<'a>(
124        &self,
125        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
126    ) -> Result<models::TwoFactorWebAuthnResponseModel, Error>;
127
128    /// POST /two-factor/get-yubikey
129    async fn get_yubi_key<'a>(
130        &self,
131        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
132    ) -> Result<models::TwoFactorYubiKeyResponseModel, Error>;
133
134    /// PUT /two-factor/authenticator
135    async fn put_authenticator<'a>(
136        &self,
137        two_factor_authenticator_update_request_model: Option<
138            models::TwoFactorAuthenticatorUpdateRequestModel,
139        >,
140    ) -> Result<models::TwoFactorAuthenticatorUpdateResponseModel, Error>;
141
142    /// PUT /two-factor/duo
143    async fn put_duo<'a>(
144        &self,
145        two_factor_duo_update_request_model: Option<models::TwoFactorDuoUpdateRequestModel>,
146    ) -> Result<models::TwoFactorDuoUpdateResponseModel, Error>;
147
148    /// PUT /two-factor/email
149    async fn put_email<'a>(
150        &self,
151        two_factor_email_update_request_model: Option<models::TwoFactorEmailUpdateRequestModel>,
152    ) -> Result<models::TwoFactorEmailUpdateResponseModel, Error>;
153
154    /// PUT /organizations/{id}/two-factor/duo
155    async fn put_organization_duo<'a>(
156        &self,
157        id: &'a str,
158        two_factor_duo_update_request_model: Option<models::TwoFactorDuoUpdateRequestModel>,
159    ) -> Result<models::TwoFactorOrganizationDuoUpdateResponseModel, Error>;
160
161    /// PUT /two-factor/webauthn
162    async fn put_web_authn<'a>(
163        &self,
164        two_factor_web_authn_update_request_model: Option<
165            models::TwoFactorWebAuthnUpdateRequestModel,
166        >,
167    ) -> Result<models::TwoFactorWebAuthnUpdateResponseModel, Error>;
168
169    /// PUT /two-factor/yubikey
170    async fn put_yubi_key<'a>(
171        &self,
172        two_factor_yubi_key_update_request_model: Option<
173            models::TwoFactorYubiKeyUpdateRequestModel,
174        >,
175    ) -> Result<models::TwoFactorYubiKeyUpdateResponseModel, Error>;
176
177    /// POST /two-factor/send-email-login
178    async fn send_email_login<'a>(
179        &self,
180        two_factor_email_login_request_model: Option<models::TwoFactorEmailLoginRequestModel>,
181    ) -> Result<(), Error>;
182
183    /// POST /two-factor/send-email
184    async fn send_email_setup<'a>(
185        &self,
186        two_factor_email_setup_request_model: Option<models::TwoFactorEmailSetupRequestModel>,
187    ) -> Result<(), Error>;
188}
189
190pub struct TwoFactorApiClient {
191    configuration: Arc<configuration::Configuration>,
192}
193
194impl TwoFactorApiClient {
195    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
196        Self { configuration }
197    }
198}
199
200#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
201#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
202impl TwoFactorApi for TwoFactorApiClient {
203    async fn delete_authenticator<'a>(
204        &self,
205        two_factor_authenticator_delete_request_model: Option<
206            models::TwoFactorAuthenticatorDeleteRequestModel,
207        >,
208    ) -> Result<(), Error> {
209        let local_var_configuration = &self.configuration;
210
211        let local_var_client = &local_var_configuration.client;
212
213        let local_var_uri_str = format!(
214            "{}/two-factor/authenticator",
215            local_var_configuration.base_path
216        );
217        let mut local_var_req_builder =
218            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
219
220        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
221        local_var_req_builder =
222            local_var_req_builder.json(&two_factor_authenticator_delete_request_model);
223
224        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
225    }
226
227    async fn delete_duo<'a>(
228        &self,
229        two_factor_duo_delete_request_model: Option<models::TwoFactorDuoDeleteRequestModel>,
230    ) -> Result<(), Error> {
231        let local_var_configuration = &self.configuration;
232
233        let local_var_client = &local_var_configuration.client;
234
235        let local_var_uri_str = format!("{}/two-factor/duo", local_var_configuration.base_path);
236        let mut local_var_req_builder =
237            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
238
239        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
240        local_var_req_builder = local_var_req_builder.json(&two_factor_duo_delete_request_model);
241
242        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
243    }
244
245    async fn delete_email<'a>(
246        &self,
247        two_factor_email_delete_request_model: Option<models::TwoFactorEmailDeleteRequestModel>,
248    ) -> Result<(), Error> {
249        let local_var_configuration = &self.configuration;
250
251        let local_var_client = &local_var_configuration.client;
252
253        let local_var_uri_str = format!("{}/two-factor/email", local_var_configuration.base_path);
254        let mut local_var_req_builder =
255            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
256
257        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
258        local_var_req_builder = local_var_req_builder.json(&two_factor_email_delete_request_model);
259
260        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
261    }
262
263    async fn delete_organization_duo<'a>(
264        &self,
265        id: &'a str,
266        two_factor_organization_duo_delete_request_model: Option<
267            models::TwoFactorOrganizationDuoDeleteRequestModel,
268        >,
269    ) -> Result<(), Error> {
270        let local_var_configuration = &self.configuration;
271
272        let local_var_client = &local_var_configuration.client;
273
274        let local_var_uri_str = format!(
275            "{}/organizations/{id}/two-factor/duo",
276            local_var_configuration.base_path,
277            id = crate::apis::urlencode(id)
278        );
279        let mut local_var_req_builder =
280            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
281
282        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
283        local_var_req_builder =
284            local_var_req_builder.json(&two_factor_organization_duo_delete_request_model);
285
286        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
287    }
288
289    async fn delete_web_authn<'a>(
290        &self,
291        two_factor_web_authn_delete_request_model: Option<
292            models::TwoFactorWebAuthnDeleteRequestModel,
293        >,
294    ) -> Result<models::TwoFactorWebAuthnDeleteResponseModel, Error> {
295        let local_var_configuration = &self.configuration;
296
297        let local_var_client = &local_var_configuration.client;
298
299        let local_var_uri_str =
300            format!("{}/two-factor/webauthn", local_var_configuration.base_path);
301        let mut local_var_req_builder =
302            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
303
304        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
305        local_var_req_builder =
306            local_var_req_builder.json(&two_factor_web_authn_delete_request_model);
307
308        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
309    }
310
311    async fn delete_web_authn_all<'a>(
312        &self,
313        two_factor_web_authn_delete_all_request_model: Option<
314            models::TwoFactorWebAuthnDeleteAllRequestModel,
315        >,
316    ) -> Result<(), Error> {
317        let local_var_configuration = &self.configuration;
318
319        let local_var_client = &local_var_configuration.client;
320
321        let local_var_uri_str = format!(
322            "{}/two-factor/webauthn/all",
323            local_var_configuration.base_path
324        );
325        let mut local_var_req_builder =
326            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
327
328        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
329        local_var_req_builder =
330            local_var_req_builder.json(&two_factor_web_authn_delete_all_request_model);
331
332        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
333    }
334
335    async fn delete_yubi_key<'a>(
336        &self,
337        two_factor_yubi_key_delete_request_model: Option<
338            models::TwoFactorYubiKeyDeleteRequestModel,
339        >,
340    ) -> Result<(), Error> {
341        let local_var_configuration = &self.configuration;
342
343        let local_var_client = &local_var_configuration.client;
344
345        let local_var_uri_str = format!("{}/two-factor/yubikey", local_var_configuration.base_path);
346        let mut local_var_req_builder =
347            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
348
349        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
350        local_var_req_builder =
351            local_var_req_builder.json(&two_factor_yubi_key_delete_request_model);
352
353        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
354    }
355
356    async fn get(&self) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error> {
357        let local_var_configuration = &self.configuration;
358
359        let local_var_client = &local_var_configuration.client;
360
361        let local_var_uri_str = format!("{}/two-factor", local_var_configuration.base_path);
362        let mut local_var_req_builder =
363            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
364
365        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
366
367        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
368    }
369
370    async fn get_authenticator<'a>(
371        &self,
372        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
373    ) -> Result<models::TwoFactorAuthenticatorResponseModel, Error> {
374        let local_var_configuration = &self.configuration;
375
376        let local_var_client = &local_var_configuration.client;
377
378        let local_var_uri_str = format!(
379            "{}/two-factor/get-authenticator",
380            local_var_configuration.base_path
381        );
382        let mut local_var_req_builder =
383            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
384
385        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
386        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
387
388        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
389    }
390
391    async fn get_duo<'a>(
392        &self,
393        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
394    ) -> Result<models::TwoFactorDuoResponseModel, Error> {
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!("{}/two-factor/get-duo", local_var_configuration.base_path);
400        let mut local_var_req_builder =
401            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
402
403        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
404        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
405
406        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
407    }
408
409    async fn get_email<'a>(
410        &self,
411        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
412    ) -> Result<models::TwoFactorEmailResponseModel, Error> {
413        let local_var_configuration = &self.configuration;
414
415        let local_var_client = &local_var_configuration.client;
416
417        let local_var_uri_str =
418            format!("{}/two-factor/get-email", local_var_configuration.base_path);
419        let mut local_var_req_builder =
420            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
421
422        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
423        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
424
425        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
426    }
427
428    async fn get_organization<'a>(
429        &self,
430        id: &'a str,
431    ) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error> {
432        let local_var_configuration = &self.configuration;
433
434        let local_var_client = &local_var_configuration.client;
435
436        let local_var_uri_str = format!(
437            "{}/organizations/{id}/two-factor",
438            local_var_configuration.base_path,
439            id = crate::apis::urlencode(id)
440        );
441        let mut local_var_req_builder =
442            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
443
444        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
445
446        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
447    }
448
449    async fn get_organization_duo<'a>(
450        &self,
451        id: &'a str,
452        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
453    ) -> Result<models::TwoFactorOrganizationDuoResponseModel, Error> {
454        let local_var_configuration = &self.configuration;
455
456        let local_var_client = &local_var_configuration.client;
457
458        let local_var_uri_str = format!(
459            "{}/organizations/{id}/two-factor/get-duo",
460            local_var_configuration.base_path,
461            id = crate::apis::urlencode(id)
462        );
463        let mut local_var_req_builder =
464            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
465
466        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
467        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
468
469        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
470    }
471
472    async fn get_recover<'a>(
473        &self,
474        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
475    ) -> Result<models::TwoFactorRecoverResponseModel, Error> {
476        let local_var_configuration = &self.configuration;
477
478        let local_var_client = &local_var_configuration.client;
479
480        let local_var_uri_str = format!(
481            "{}/two-factor/get-recover",
482            local_var_configuration.base_path
483        );
484        let mut local_var_req_builder =
485            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
486
487        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
488        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
489
490        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
491    }
492
493    async fn get_web_authn<'a>(
494        &self,
495        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
496    ) -> Result<models::TwoFactorWebAuthnResponseModel, Error> {
497        let local_var_configuration = &self.configuration;
498
499        let local_var_client = &local_var_configuration.client;
500
501        let local_var_uri_str = format!(
502            "{}/two-factor/get-webauthn",
503            local_var_configuration.base_path
504        );
505        let mut local_var_req_builder =
506            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
507
508        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
509        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
510
511        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
512    }
513
514    async fn get_yubi_key<'a>(
515        &self,
516        secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
517    ) -> Result<models::TwoFactorYubiKeyResponseModel, Error> {
518        let local_var_configuration = &self.configuration;
519
520        let local_var_client = &local_var_configuration.client;
521
522        let local_var_uri_str = format!(
523            "{}/two-factor/get-yubikey",
524            local_var_configuration.base_path
525        );
526        let mut local_var_req_builder =
527            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
528
529        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
530        local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
531
532        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
533    }
534
535    async fn put_authenticator<'a>(
536        &self,
537        two_factor_authenticator_update_request_model: Option<
538            models::TwoFactorAuthenticatorUpdateRequestModel,
539        >,
540    ) -> Result<models::TwoFactorAuthenticatorUpdateResponseModel, Error> {
541        let local_var_configuration = &self.configuration;
542
543        let local_var_client = &local_var_configuration.client;
544
545        let local_var_uri_str = format!(
546            "{}/two-factor/authenticator",
547            local_var_configuration.base_path
548        );
549        let mut local_var_req_builder =
550            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
551
552        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
553        local_var_req_builder =
554            local_var_req_builder.json(&two_factor_authenticator_update_request_model);
555
556        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
557    }
558
559    async fn put_duo<'a>(
560        &self,
561        two_factor_duo_update_request_model: Option<models::TwoFactorDuoUpdateRequestModel>,
562    ) -> Result<models::TwoFactorDuoUpdateResponseModel, Error> {
563        let local_var_configuration = &self.configuration;
564
565        let local_var_client = &local_var_configuration.client;
566
567        let local_var_uri_str = format!("{}/two-factor/duo", local_var_configuration.base_path);
568        let mut local_var_req_builder =
569            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
570
571        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
572        local_var_req_builder = local_var_req_builder.json(&two_factor_duo_update_request_model);
573
574        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
575    }
576
577    async fn put_email<'a>(
578        &self,
579        two_factor_email_update_request_model: Option<models::TwoFactorEmailUpdateRequestModel>,
580    ) -> Result<models::TwoFactorEmailUpdateResponseModel, Error> {
581        let local_var_configuration = &self.configuration;
582
583        let local_var_client = &local_var_configuration.client;
584
585        let local_var_uri_str = format!("{}/two-factor/email", local_var_configuration.base_path);
586        let mut local_var_req_builder =
587            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
588
589        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
590        local_var_req_builder = local_var_req_builder.json(&two_factor_email_update_request_model);
591
592        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
593    }
594
595    async fn put_organization_duo<'a>(
596        &self,
597        id: &'a str,
598        two_factor_duo_update_request_model: Option<models::TwoFactorDuoUpdateRequestModel>,
599    ) -> Result<models::TwoFactorOrganizationDuoUpdateResponseModel, Error> {
600        let local_var_configuration = &self.configuration;
601
602        let local_var_client = &local_var_configuration.client;
603
604        let local_var_uri_str = format!(
605            "{}/organizations/{id}/two-factor/duo",
606            local_var_configuration.base_path,
607            id = crate::apis::urlencode(id)
608        );
609        let mut local_var_req_builder =
610            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
611
612        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
613        local_var_req_builder = local_var_req_builder.json(&two_factor_duo_update_request_model);
614
615        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
616    }
617
618    async fn put_web_authn<'a>(
619        &self,
620        two_factor_web_authn_update_request_model: Option<
621            models::TwoFactorWebAuthnUpdateRequestModel,
622        >,
623    ) -> Result<models::TwoFactorWebAuthnUpdateResponseModel, Error> {
624        let local_var_configuration = &self.configuration;
625
626        let local_var_client = &local_var_configuration.client;
627
628        let local_var_uri_str =
629            format!("{}/two-factor/webauthn", local_var_configuration.base_path);
630        let mut local_var_req_builder =
631            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
632
633        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
634        local_var_req_builder =
635            local_var_req_builder.json(&two_factor_web_authn_update_request_model);
636
637        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
638    }
639
640    async fn put_yubi_key<'a>(
641        &self,
642        two_factor_yubi_key_update_request_model: Option<
643            models::TwoFactorYubiKeyUpdateRequestModel,
644        >,
645    ) -> Result<models::TwoFactorYubiKeyUpdateResponseModel, Error> {
646        let local_var_configuration = &self.configuration;
647
648        let local_var_client = &local_var_configuration.client;
649
650        let local_var_uri_str = format!("{}/two-factor/yubikey", local_var_configuration.base_path);
651        let mut local_var_req_builder =
652            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
653
654        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
655        local_var_req_builder =
656            local_var_req_builder.json(&two_factor_yubi_key_update_request_model);
657
658        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
659    }
660
661    async fn send_email_login<'a>(
662        &self,
663        two_factor_email_login_request_model: Option<models::TwoFactorEmailLoginRequestModel>,
664    ) -> Result<(), Error> {
665        let local_var_configuration = &self.configuration;
666
667        let local_var_client = &local_var_configuration.client;
668
669        let local_var_uri_str = format!(
670            "{}/two-factor/send-email-login",
671            local_var_configuration.base_path
672        );
673        let mut local_var_req_builder =
674            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
675
676        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
677        local_var_req_builder = local_var_req_builder.json(&two_factor_email_login_request_model);
678
679        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
680    }
681
682    async fn send_email_setup<'a>(
683        &self,
684        two_factor_email_setup_request_model: Option<models::TwoFactorEmailSetupRequestModel>,
685    ) -> Result<(), Error> {
686        let local_var_configuration = &self.configuration;
687
688        let local_var_client = &local_var_configuration.client;
689
690        let local_var_uri_str = format!(
691            "{}/two-factor/send-email",
692            local_var_configuration.base_path
693        );
694        let mut local_var_req_builder =
695            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
696
697        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
698        local_var_req_builder = local_var_req_builder.json(&two_factor_email_setup_request_model);
699
700        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
701    }
702}