#![allow(missing_docs, dead_code)]
use citadel_crypt::argon::argon_container::ArgonContainerType;
use serde::{Deserialize, Serialize};
pub mod proposed_credentials;
#[derive(Serialize, Deserialize)]
pub enum DeclaredAuthenticationMode {
Argon {
username: String,
full_name: String,
argon: ArgonContainerType,
},
Transient {
username: String,
full_name: String,
},
}
impl DeclaredAuthenticationMode {
pub fn username(&self) -> &str {
match self {
Self::Argon { username, .. } => username.as_str(),
Self::Transient { username, .. } => username.as_str(),
}
}
pub fn full_name(&self) -> &str {
match self {
Self::Argon { full_name, .. } => full_name.as_str(),
Self::Transient { full_name, .. } => full_name.as_str(),
}
}
pub fn argon_container(&self) -> Option<&ArgonContainerType> {
match self {
Self::Argon { argon, .. } => Some(argon),
Self::Transient { .. } => None,
}
}
pub fn is_transient(&self) -> bool {
match self {
Self::Argon { .. } => false,
Self::Transient { .. } => true,
}
}
}