use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use crate::models;
#[serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssertionResponse {
#[serde_as(as = "Option<serde_with::base64::Base64>")]
#[serde(
rename = "authenticatorData",
alias = "AuthenticatorData",
skip_serializing_if = "Option::is_none"
)]
pub authenticator_data: Option<Vec<u8>>,
#[serde_as(as = "Option<serde_with::base64::Base64>")]
#[serde(
rename = "signature",
alias = "Signature",
skip_serializing_if = "Option::is_none"
)]
pub signature: Option<Vec<u8>>,
#[serde_as(as = "Option<serde_with::base64::Base64>")]
#[serde(
rename = "clientDataJSON",
alias = "ClientDataJson",
skip_serializing_if = "Option::is_none"
)]
pub client_data_json: Option<Vec<u8>>,
#[serde_as(as = "Option<serde_with::base64::Base64>")]
#[serde(
rename = "userHandle",
alias = "UserHandle",
skip_serializing_if = "Option::is_none"
)]
pub user_handle: Option<Vec<u8>>,
}
impl AssertionResponse {
pub fn new() -> AssertionResponse {
AssertionResponse {
authenticator_data: None,
signature: None,
client_data_json: None,
user_handle: None,
}
}
}