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 MasterPasswordUnlockAndAuthenticationDataModel {
    #[serde(rename = "kdfType", alias = "KdfType")]
    pub kdf_type: models::KdfType,
    #[serde(rename = "kdfIterations", alias = "KdfIterations")]
    pub kdf_iterations: i32,
    #[serde(
        rename = "kdfMemory",
        alias = "KdfMemory",
        skip_serializing_if = "Option::is_none"
    )]
    pub kdf_memory: Option<i32>,
    #[serde(
        rename = "kdfParallelism",
        alias = "KdfParallelism",
        skip_serializing_if = "Option::is_none"
    )]
    pub kdf_parallelism: Option<i32>,
    #[serde(rename = "email", alias = "Email")]
    pub email: Option<String>,
    #[serde(
        rename = "masterKeyAuthenticationHash",
        alias = "MasterKeyAuthenticationHash"
    )]
    pub master_key_authentication_hash: Option<String>,
    #[serde(
        rename = "masterKeyEncryptedUserKey",
        alias = "MasterKeyEncryptedUserKey"
    )]
    pub master_key_encrypted_user_key: Option<String>,
    #[serde(
        rename = "masterPasswordHint",
        alias = "MasterPasswordHint",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_hint: Option<String>,
    #[serde(
        rename = "masterPasswordSalt",
        alias = "MasterPasswordSalt",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_salt: Option<String>,
}

impl MasterPasswordUnlockAndAuthenticationDataModel {
    pub fn new(
        kdf_type: models::KdfType,
        kdf_iterations: i32,
        email: Option<String>,
        master_key_authentication_hash: Option<String>,
        master_key_encrypted_user_key: Option<String>,
    ) -> MasterPasswordUnlockAndAuthenticationDataModel {
        MasterPasswordUnlockAndAuthenticationDataModel {
            kdf_type,
            kdf_iterations,
            kdf_memory: None,
            kdf_parallelism: None,
            email,
            master_key_authentication_hash,
            master_key_encrypted_user_key,
            master_password_hint: None,
            master_password_salt: None,
        }
    }
}