Skip to main content

authentik_client/models/
settings.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2026.2.0
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Settings : Settings Serializer
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Settings {
17    /// Configure how authentik should show avatars for users.
18    #[serde(rename = "avatars", skip_serializing_if = "Option::is_none")]
19    pub avatars: Option<String>,
20    /// Enable the ability for users to change their name.
21    #[serde(rename = "default_user_change_name", skip_serializing_if = "Option::is_none")]
22    pub default_user_change_name: Option<bool>,
23    /// Enable the ability for users to change their email address.
24    #[serde(rename = "default_user_change_email", skip_serializing_if = "Option::is_none")]
25    pub default_user_change_email: Option<bool>,
26    /// Enable the ability for users to change their username.
27    #[serde(rename = "default_user_change_username", skip_serializing_if = "Option::is_none")]
28    pub default_user_change_username: Option<bool>,
29    /// Events will be deleted after this duration.(Format: weeks=3;days=2;hours=3,seconds=2).
30    #[serde(rename = "event_retention", skip_serializing_if = "Option::is_none")]
31    pub event_retention: Option<String>,
32    /// Reputation cannot decrease lower than this value. Zero or negative.
33    #[serde(rename = "reputation_lower_limit", skip_serializing_if = "Option::is_none")]
34    pub reputation_lower_limit: Option<i32>,
35    /// Reputation cannot increase higher than this value. Zero or positive.
36    #[serde(rename = "reputation_upper_limit", skip_serializing_if = "Option::is_none")]
37    pub reputation_upper_limit: Option<u32>,
38    #[serde(
39        rename = "footer_links",
40        default,
41        with = "::serde_with::rust::double_option",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub footer_links: Option<Option<serde_json::Value>>,
45    /// When enabled, all the events caused by a user will be deleted upon the user's deletion.
46    #[serde(rename = "gdpr_compliance", skip_serializing_if = "Option::is_none")]
47    pub gdpr_compliance: Option<bool>,
48    /// Globally enable/disable impersonation.
49    #[serde(rename = "impersonation", skip_serializing_if = "Option::is_none")]
50    pub impersonation: Option<bool>,
51    /// Require administrators to provide a reason for impersonating a user.
52    #[serde(rename = "impersonation_require_reason", skip_serializing_if = "Option::is_none")]
53    pub impersonation_require_reason: Option<bool>,
54    /// Default token duration
55    #[serde(rename = "default_token_duration", skip_serializing_if = "Option::is_none")]
56    pub default_token_duration: Option<String>,
57    /// Default token length
58    #[serde(rename = "default_token_length", skip_serializing_if = "Option::is_none")]
59    pub default_token_length: Option<u32>,
60    /// Default page size for API responses, if no size was requested.
61    #[serde(rename = "pagination_default_page_size", skip_serializing_if = "Option::is_none")]
62    pub pagination_default_page_size: Option<u32>,
63    /// Maximum page size
64    #[serde(rename = "pagination_max_page_size", skip_serializing_if = "Option::is_none")]
65    pub pagination_max_page_size: Option<u32>,
66    #[serde(rename = "flags")]
67    pub flags: models::PatchedSettingsRequestFlags,
68}
69
70impl Settings {
71    /// Settings Serializer
72    pub fn new(flags: models::PatchedSettingsRequestFlags) -> Settings {
73        Settings {
74            avatars: None,
75            default_user_change_name: None,
76            default_user_change_email: None,
77            default_user_change_username: None,
78            event_retention: None,
79            reputation_lower_limit: None,
80            reputation_upper_limit: None,
81            footer_links: None,
82            gdpr_compliance: None,
83            impersonation: None,
84            impersonation_require_reason: None,
85            default_token_duration: None,
86            default_token_length: None,
87            pagination_default_page_size: None,
88            pagination_max_page_size: None,
89            flags,
90        }
91    }
92}