mirror of
https://github.com/euzu/tuliprox.git
synced 2026-09-29 12:32:08 +02:00
* 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
41 lines
1.4 KiB
Rust
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)
|
|
}
|
|
}
|