use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Settings {
#[serde(rename = "avatars", skip_serializing_if = "Option::is_none")]
pub avatars: Option<String>,
#[serde(rename = "default_user_change_name", skip_serializing_if = "Option::is_none")]
pub default_user_change_name: Option<bool>,
#[serde(rename = "default_user_change_email", skip_serializing_if = "Option::is_none")]
pub default_user_change_email: Option<bool>,
#[serde(rename = "default_user_change_username", skip_serializing_if = "Option::is_none")]
pub default_user_change_username: Option<bool>,
#[serde(rename = "event_retention", skip_serializing_if = "Option::is_none")]
pub event_retention: Option<String>,
#[serde(
rename = "footer_links",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub footer_links: Option<Option<serde_json::Value>>,
#[serde(rename = "gdpr_compliance", skip_serializing_if = "Option::is_none")]
pub gdpr_compliance: Option<bool>,
#[serde(rename = "impersonation", skip_serializing_if = "Option::is_none")]
pub impersonation: Option<bool>,
#[serde(rename = "impersonation_require_reason", skip_serializing_if = "Option::is_none")]
pub impersonation_require_reason: Option<bool>,
#[serde(rename = "default_token_duration", skip_serializing_if = "Option::is_none")]
pub default_token_duration: Option<String>,
#[serde(rename = "default_token_length", skip_serializing_if = "Option::is_none")]
pub default_token_length: Option<u32>,
}
impl Settings {
pub fn new() -> Settings {
Settings {
avatars: None,
default_user_change_name: None,
default_user_change_email: None,
default_user_change_username: None,
event_retention: None,
footer_links: None,
gdpr_compliance: None,
impersonation: None,
impersonation_require_reason: None,
default_token_duration: None,
default_token_length: None,
}
}
}