authentik_rust/models/
source.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Source {
16 #[serde(rename = "pk")]
17 pub pk: uuid::Uuid,
18 #[serde(rename = "name")]
20 pub name: String,
21 #[serde(rename = "slug")]
23 pub slug: String,
24 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
25 pub enabled: Option<bool>,
26 #[serde(rename = "authentication_flow", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub authentication_flow: Option<Option<uuid::Uuid>>,
29 #[serde(rename = "enrollment_flow", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub enrollment_flow: Option<Option<uuid::Uuid>>,
32 #[serde(rename = "component")]
34 pub component: String,
35 #[serde(rename = "verbose_name")]
37 pub verbose_name: String,
38 #[serde(rename = "verbose_name_plural")]
40 pub verbose_name_plural: String,
41 #[serde(rename = "meta_model_name")]
43 pub meta_model_name: String,
44 #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")]
45 pub policy_engine_mode: Option<models::PolicyEngineMode>,
46 #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")]
48 pub user_matching_mode: Option<models::UserMatchingModeEnum>,
49 #[serde(rename = "managed", deserialize_with = "Option::deserialize")]
51 pub managed: Option<String>,
52 #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")]
53 pub user_path_template: Option<String>,
54 #[serde(rename = "icon", deserialize_with = "Option::deserialize")]
56 pub icon: Option<String>,
57}
58
59impl Source {
60 pub fn new(pk: uuid::Uuid, name: String, slug: String, component: String, verbose_name: String, verbose_name_plural: String, meta_model_name: String, managed: Option<String>, icon: Option<String>) -> Source {
62 Source {
63 pk,
64 name,
65 slug,
66 enabled: None,
67 authentication_flow: None,
68 enrollment_flow: None,
69 component,
70 verbose_name,
71 verbose_name_plural,
72 meta_model_name,
73 policy_engine_mode: None,
74 user_matching_mode: None,
75 managed,
76 user_path_template: None,
77 icon,
78 }
79 }
80}
81