Skip to main content

bitwarden_api_api/models/
two_factor_email_login_request_model.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 serde::{Deserialize, Serialize};
12
13use crate::models;
14
15/// TwoFactorEmailLoginRequestModel : Request body for the anonymous login-time endpoint that emails
16/// a 2FA OTP during sign-in. Authenticated by master password / OTP, SSO email-2FA session token,
17/// or device-auth-request access code.
18#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
19pub struct TwoFactorEmailLoginRequestModel {
20    #[serde(
21        rename = "masterPasswordHash",
22        alias = "MasterPasswordHash",
23        skip_serializing_if = "Option::is_none"
24    )]
25    pub master_password_hash: Option<String>,
26    #[serde(rename = "otp", alias = "Otp", skip_serializing_if = "Option::is_none")]
27    pub otp: Option<String>,
28    #[serde(
29        rename = "authRequestAccessCode",
30        alias = "AuthRequestAccessCode",
31        skip_serializing_if = "Option::is_none"
32    )]
33    pub auth_request_access_code: Option<String>,
34    #[serde(
35        rename = "secret",
36        alias = "Secret",
37        skip_serializing_if = "Option::is_none"
38    )]
39    pub secret: Option<String>,
40    #[serde(rename = "email", alias = "Email")]
41    pub email: String,
42    #[serde(
43        rename = "authRequestId",
44        alias = "AuthRequestId",
45        skip_serializing_if = "Option::is_none"
46    )]
47    pub auth_request_id: Option<String>,
48    #[serde(
49        rename = "ssoEmail2FaSessionToken",
50        alias = "SsoEmail2FaSessionToken",
51        skip_serializing_if = "Option::is_none"
52    )]
53    pub sso_email2_fa_session_token: Option<String>,
54}
55
56impl TwoFactorEmailLoginRequestModel {
57    /// Request body for the anonymous login-time endpoint that emails a 2FA OTP during sign-in.
58    /// Authenticated by master password / OTP, SSO email-2FA session token, or device-auth-request
59    /// access code.
60    pub fn new(email: String) -> TwoFactorEmailLoginRequestModel {
61        TwoFactorEmailLoginRequestModel {
62            master_password_hash: None,
63            otp: None,
64            auth_request_access_code: None,
65            secret: None,
66            email,
67            auth_request_id: None,
68            sso_email2_fa_session_token: None,
69        }
70    }
71}