use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Unstable {
#[serde(default = "Unstable::default_auth")]
pub auth: Option<Auth>,
}
impl Default for Unstable {
fn default() -> Self {
Self {
auth: Self::default_auth(),
}
}
}
impl Unstable {
fn default_auth() -> Option<Auth> {
None
}
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Auth {
#[serde(default = "Auth::default_casbin")]
pub casbin: Option<Casbin>,
}
impl Default for Auth {
fn default() -> Self {
Self {
casbin: Self::default_casbin(),
}
}
}
impl Auth {
fn default_casbin() -> Option<Casbin> {
None
}
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Casbin {
pub model: String,
pub policy: String,
}