use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebAuthnLoginCredentialCreateRequestModel {
#[serde(rename = "deviceResponse", alias = "DeviceResponse")]
pub device_response: Box<models::AuthenticatorAttestationRawResponse>,
#[serde(rename = "name", alias = "Name")]
pub name: String,
#[serde(rename = "token", alias = "Token")]
pub token: String,
#[serde(rename = "supportsPrf", alias = "SupportsPrf")]
pub supports_prf: bool,
#[serde(
rename = "encryptedUserKey",
alias = "EncryptedUserKey",
skip_serializing_if = "Option::is_none"
)]
pub encrypted_user_key: Option<String>,
#[serde(
rename = "encryptedPublicKey",
alias = "EncryptedPublicKey",
skip_serializing_if = "Option::is_none"
)]
pub encrypted_public_key: Option<String>,
#[serde(
rename = "encryptedPrivateKey",
alias = "EncryptedPrivateKey",
skip_serializing_if = "Option::is_none"
)]
pub encrypted_private_key: Option<String>,
}
impl WebAuthnLoginCredentialCreateRequestModel {
pub fn new(
device_response: models::AuthenticatorAttestationRawResponse,
name: String,
token: String,
supports_prf: bool,
) -> WebAuthnLoginCredentialCreateRequestModel {
WebAuthnLoginCredentialCreateRequestModel {
device_response: Box::new(device_response),
name,
token,
supports_prf,
encrypted_user_key: None,
encrypted_public_key: None,
encrypted_private_key: None,
}
}
}