authentik_rust/models/
plex_source_request.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PlexSourceRequest {
16 #[serde(rename = "name")]
18 pub name: String,
19 #[serde(rename = "slug")]
21 pub slug: String,
22 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
23 pub enabled: Option<bool>,
24 #[serde(rename = "authentication_flow", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub authentication_flow: Option<Option<uuid::Uuid>>,
27 #[serde(rename = "enrollment_flow", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub enrollment_flow: Option<Option<uuid::Uuid>>,
30 #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")]
31 pub policy_engine_mode: Option<models::PolicyEngineMode>,
32 #[serde(rename = "user_matching_mode", skip_serializing_if = "Option::is_none")]
34 pub user_matching_mode: Option<models::UserMatchingModeEnum>,
35 #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")]
36 pub user_path_template: Option<String>,
37 #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")]
39 pub client_id: Option<String>,
40 #[serde(rename = "allowed_servers", skip_serializing_if = "Option::is_none")]
42 pub allowed_servers: Option<Vec<String>>,
43 #[serde(rename = "allow_friends", skip_serializing_if = "Option::is_none")]
45 pub allow_friends: Option<bool>,
46 #[serde(rename = "plex_token")]
48 pub plex_token: String,
49}
50
51impl PlexSourceRequest {
52 pub fn new(name: String, slug: String, plex_token: String) -> PlexSourceRequest {
54 PlexSourceRequest {
55 name,
56 slug,
57 enabled: None,
58 authentication_flow: None,
59 enrollment_flow: None,
60 policy_engine_mode: None,
61 user_matching_mode: None,
62 user_path_template: None,
63 client_id: None,
64 allowed_servers: None,
65 allow_friends: None,
66 plex_token,
67 }
68 }
69}
70