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,
}
}
}