authentik_rust/models/
plex_source.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PlexSource {
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 #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")]
59 pub client_id: Option<String>,
60 #[serde(rename = "allowed_servers", skip_serializing_if = "Option::is_none")]
62 pub allowed_servers: Option<Vec<String>>,
63 #[serde(rename = "allow_friends", skip_serializing_if = "Option::is_none")]
65 pub allow_friends: Option<bool>,
66 #[serde(rename = "plex_token")]
68 pub plex_token: String,
69}
70
71impl PlexSource {
72 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>, plex_token: String) -> PlexSource {
74 PlexSource {
75 pk,
76 name,
77 slug,
78 enabled: None,
79 authentication_flow: None,
80 enrollment_flow: None,
81 component,
82 verbose_name,
83 verbose_name_plural,
84 meta_model_name,
85 policy_engine_mode: None,
86 user_matching_mode: None,
87 managed,
88 user_path_template: None,
89 icon,
90 client_id: None,
91 allowed_servers: None,
92 allow_friends: None,
93 plex_token,
94 }
95 }
96}
97