feat(core): diesel models and db interface changes for authentication table (#3859)

This commit is contained in:
Hrithikesh
2024-03-01 18:03:32 +05:30
committed by GitHub
parent 34f7705c44
commit 8162668199
10 changed files with 542 additions and 0 deletions

View File

@ -2172,6 +2172,91 @@ pub enum ApplePayFlow {
Manual,
}
#[derive(
Clone,
Debug,
Eq,
Default,
Hash,
PartialEq,
serde::Deserialize,
serde::Serialize,
strum::Display,
strum::EnumString,
utoipa::ToSchema,
Copy,
)]
#[router_derive::diesel_enum(storage_type = "text")]
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
pub enum AuthenticationStatus {
#[default]
Started,
Pending,
Success,
Failed,
}
impl AuthenticationStatus {
pub fn is_terminal_status(&self) -> bool {
match self {
Self::Started | Self::Pending => false,
Self::Success | Self::Failed => true,
}
}
pub fn is_failed(&self) -> bool {
self == &Self::Failed
}
}
#[derive(
Clone,
Debug,
Eq,
Default,
Hash,
PartialEq,
serde::Deserialize,
serde::Serialize,
strum::Display,
strum::EnumString,
utoipa::ToSchema,
Copy,
)]
#[router_derive::diesel_enum(storage_type = "text")]
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
pub enum DecoupledAuthenticationType {
#[default]
Challenge,
Frictionless,
}
#[derive(
Clone,
Debug,
Eq,
Default,
Hash,
PartialEq,
serde::Deserialize,
serde::Serialize,
strum::Display,
strum::EnumString,
utoipa::ToSchema,
Copy,
)]
#[router_derive::diesel_enum(storage_type = "text")]
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
pub enum AuthenticationLifecycleStatus {
Used,
#[default]
Unused,
Expired,
}
#[derive(
Clone,
Copy,