1use 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 async fn delete_authenticator<'a>(
31 &self,
32 two_factor_authenticator_delete_request_model: Option<
33 models::TwoFactorAuthenticatorDeleteRequestModel,
34 >,
35 ) -> Result<(), Error>;
36
37 async fn delete_duo<'a>(
39 &self,
40 two_factor_duo_delete_request_model: Option<models::TwoFactorDuoDeleteRequestModel>,
41 ) -> Result<(), Error>;
42
43 async fn delete_email<'a>(
45 &self,
46 two_factor_email_delete_request_model: Option<models::TwoFactorEmailDeleteRequestModel>,
47 ) -> Result<(), Error>;
48
49 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 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 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 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 async fn get(&self) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error>;
84
85 async fn get_authenticator<'a>(
87 &self,
88 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
89 ) -> Result<models::TwoFactorAuthenticatorResponseModel, Error>;
90
91 async fn get_duo<'a>(
93 &self,
94 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
95 ) -> Result<models::TwoFactorDuoResponseModel, Error>;
96
97 async fn get_email<'a>(
99 &self,
100 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
101 ) -> Result<models::TwoFactorEmailResponseModel, Error>;
102
103 async fn get_organization<'a>(
105 &self,
106 id: &'a str,
107 ) -> Result<models::TwoFactorProviderResponseModelListResponseModel, Error>;
108
109 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 async fn get_recover<'a>(
118 &self,
119 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
120 ) -> Result<models::TwoFactorRecoverResponseModel, Error>;
121
122 async fn get_web_authn<'a>(
124 &self,
125 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
126 ) -> Result<models::TwoFactorWebAuthnResponseModel, Error>;
127
128 async fn get_yubi_key<'a>(
130 &self,
131 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
132 ) -> Result<models::TwoFactorYubiKeyResponseModel, Error>;
133
134 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 async fn put_duo<'a>(
144 &self,
145 two_factor_duo_update_request_model: Option<models::TwoFactorDuoUpdateRequestModel>,
146 ) -> Result<models::TwoFactorDuoUpdateResponseModel, Error>;
147
148 async fn put_email<'a>(
150 &self,
151 two_factor_email_update_request_model: Option<models::TwoFactorEmailUpdateRequestModel>,
152 ) -> Result<models::TwoFactorEmailUpdateResponseModel, Error>;
153
154 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 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 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 async fn send_email_login<'a>(
179 &self,
180 two_factor_email_login_request_model: Option<models::TwoFactorEmailLoginRequestModel>,
181 ) -> Result<(), Error>;
182
183 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}