bitwarden-api-api 3.0.0

Api bindings for the Bitwarden API.
Documentation
/*
 * Bitwarden Internal API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: latest
 *
 * Generated by: https://openapi-generator.tech
 */

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PasswordRequestModel {
    #[serde(
        rename = "masterPasswordHash",
        alias = "MasterPasswordHash",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_hash: Option<String>,
    #[serde(rename = "otp", alias = "Otp", skip_serializing_if = "Option::is_none")]
    pub otp: Option<String>,
    #[serde(
        rename = "authRequestAccessCode",
        alias = "AuthRequestAccessCode",
        skip_serializing_if = "Option::is_none"
    )]
    pub auth_request_access_code: Option<String>,
    #[serde(
        rename = "secret",
        alias = "Secret",
        skip_serializing_if = "Option::is_none"
    )]
    pub secret: Option<String>,
    #[serde(rename = "newMasterPasswordHash", alias = "NewMasterPasswordHash")]
    pub new_master_password_hash: String,
    #[serde(
        rename = "masterPasswordHint",
        alias = "MasterPasswordHint",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_hint: Option<String>,
    #[serde(rename = "key", alias = "Key")]
    pub key: String,
    #[serde(
        rename = "authenticationData",
        alias = "AuthenticationData",
        skip_serializing_if = "Option::is_none"
    )]
    pub authentication_data: Option<Box<models::MasterPasswordAuthenticationDataRequestModel>>,
    #[serde(
        rename = "unlockData",
        alias = "UnlockData",
        skip_serializing_if = "Option::is_none"
    )]
    pub unlock_data: Option<Box<models::MasterPasswordUnlockDataRequestModel>>,
}

impl PasswordRequestModel {
    pub fn new(new_master_password_hash: String, key: String) -> PasswordRequestModel {
        PasswordRequestModel {
            master_password_hash: None,
            otp: None,
            auth_request_access_code: None,
            secret: None,
            new_master_password_hash,
            master_password_hint: None,
            key,
            authentication_data: None,
            unlock_data: None,
        }
    }
}