use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UnlockDataRequestModel {
#[serde(
rename = "masterPasswordUnlockData",
alias = "MasterPasswordUnlockData"
)]
pub master_password_unlock_data: Box<models::MasterPasswordUnlockAndAuthenticationDataModel>,
#[serde(
rename = "emergencyAccessUnlockData",
alias = "EmergencyAccessUnlockData"
)]
pub emergency_access_unlock_data: Option<Vec<models::EmergencyAccessWithIdRequestModel>>,
#[serde(
rename = "organizationAccountRecoveryUnlockData",
alias = "OrganizationAccountRecoveryUnlockData"
)]
pub organization_account_recovery_unlock_data:
Option<Vec<models::ResetPasswordWithOrgIdRequestModel>>,
#[serde(rename = "passkeyUnlockData", alias = "PasskeyUnlockData")]
pub passkey_unlock_data: Option<Vec<models::WebAuthnLoginRotateKeyRequestModel>>,
#[serde(rename = "deviceKeyUnlockData", alias = "DeviceKeyUnlockData")]
pub device_key_unlock_data: Option<Vec<models::OtherDeviceKeysUpdateRequestModel>>,
#[serde(
rename = "v2UpgradeToken",
alias = "V2UpgradeToken",
skip_serializing_if = "Option::is_none"
)]
pub v2_upgrade_token: Option<Box<models::V2UpgradeTokenRequestModel>>,
}
impl UnlockDataRequestModel {
pub fn new(
master_password_unlock_data: models::MasterPasswordUnlockAndAuthenticationDataModel,
emergency_access_unlock_data: Option<Vec<models::EmergencyAccessWithIdRequestModel>>,
organization_account_recovery_unlock_data: Option<
Vec<models::ResetPasswordWithOrgIdRequestModel>,
>,
passkey_unlock_data: Option<Vec<models::WebAuthnLoginRotateKeyRequestModel>>,
device_key_unlock_data: Option<Vec<models::OtherDeviceKeysUpdateRequestModel>>,
) -> UnlockDataRequestModel {
UnlockDataRequestModel {
master_password_unlock_data: Box::new(master_password_unlock_data),
emergency_access_unlock_data,
organization_account_recovery_unlock_data,
passkey_unlock_data,
device_key_unlock_data,
v2_upgrade_token: None,
}
}
}