#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SessionAuthenticationMethod {
#[serde(rename = "aal", skip_serializing_if = "Option::is_none")]
pub aal: Option<crate::models::AuthenticatorAssuranceLevel>,
#[serde(rename = "completed_at", skip_serializing_if = "Option::is_none")]
pub completed_at: Option<String>,
#[serde(rename = "method", skip_serializing_if = "Option::is_none")]
pub method: Option<MethodEnum>,
#[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
}
impl Default for SessionAuthenticationMethod {
fn default() -> Self {
Self::new()
}
}
impl SessionAuthenticationMethod {
pub fn new() -> SessionAuthenticationMethod {
SessionAuthenticationMethod {
aal: None,
completed_at: None,
method: None,
provider: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MethodEnum {
#[serde(rename = "link_recovery")]
LinkRecovery,
#[serde(rename = "code_recovery")]
CodeRecovery,
#[serde(rename = "password")]
Password,
#[serde(rename = "totp")]
Totp,
#[serde(rename = "oidc")]
Oidc,
#[serde(rename = "webauthn")]
Webauthn,
#[serde(rename = "lookup_secret")]
LookupSecret,
#[serde(rename = "v0.6_legacy_session")]
V06LegacySession,
}