Files
tuliprox/shared/src/model/config/web_auth.rs
T
euzuandGitHub 737d04d08b Feature/staged input and path improvements (#632)
* No template file not found error message
* Setup wizard improvmenets
* path improvements
* staged input fix
* path improvements
* Provider dns resolved ips now writing to a file instead of source.yml
* Playlist update hard kill after 1h
* matadata update tmdb fix
* Web UI fixes
* GeoIp update schedule
* batch:// prefix  for aliases
2026-03-06 17:29:42 +01:00

41 lines
1.4 KiB
Rust

use crate::utils::{
default_as_true, default_token_ttl_mins, default_user_file_path, is_blank_or_default_user_file_path,
is_default_token_ttl_mins, is_true,
};
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
#[serde(deny_unknown_fields)]
pub struct WebAuthConfigDto {
#[serde(default = "default_as_true", skip_serializing_if = "is_true")]
pub enabled: bool,
pub issuer: String,
pub secret: String,
#[serde(default = "default_token_ttl_mins", skip_serializing_if = "is_default_token_ttl_mins")]
pub token_ttl_mins: u32,
#[serde(default = "default_user_file_path", skip_serializing_if = "is_blank_or_default_user_file_path")]
pub userfile: Option<String>,
}
impl Default for WebAuthConfigDto {
fn default() -> Self {
Self {
enabled: default_as_true(),
issuer: String::new(),
secret: String::new(),
token_ttl_mins: default_token_ttl_mins(),
userfile: None,
}
}
}
impl WebAuthConfigDto {
pub fn is_empty(&self) -> bool {
let empty = WebAuthConfigDto::default();
self.enabled == empty.enabled
&& self.token_ttl_mins == empty.token_ttl_mins
&& self.issuer.trim().is_empty()
&& self.secret.trim().is_empty()
&& is_blank_or_default_user_file_path(&self.userfile)
}
}