authentik_client/models/
provider.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Provider {
17 #[serde(rename = "pk")]
18 pub pk: i32,
19 #[serde(rename = "name")]
20 pub name: String,
21 #[serde(
23 rename = "authentication_flow",
24 default,
25 with = "::serde_with::rust::double_option",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub authentication_flow: Option<Option<uuid::Uuid>>,
29 #[serde(rename = "authorization_flow")]
31 pub authorization_flow: uuid::Uuid,
32 #[serde(rename = "invalidation_flow")]
34 pub invalidation_flow: uuid::Uuid,
35 #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")]
36 pub property_mappings: Option<Vec<uuid::Uuid>>,
37 #[serde(rename = "component")]
39 pub component: String,
40 #[serde(rename = "assigned_application_slug", deserialize_with = "Option::deserialize")]
42 pub assigned_application_slug: Option<String>,
43 #[serde(rename = "assigned_application_name", deserialize_with = "Option::deserialize")]
45 pub assigned_application_name: Option<String>,
46 #[serde(
48 rename = "assigned_backchannel_application_slug",
49 deserialize_with = "Option::deserialize"
50 )]
51 pub assigned_backchannel_application_slug: Option<String>,
52 #[serde(
54 rename = "assigned_backchannel_application_name",
55 deserialize_with = "Option::deserialize"
56 )]
57 pub assigned_backchannel_application_name: Option<String>,
58 #[serde(rename = "verbose_name")]
60 pub verbose_name: String,
61 #[serde(rename = "verbose_name_plural")]
63 pub verbose_name_plural: String,
64 #[serde(rename = "meta_model_name")]
66 pub meta_model_name: String,
67}
68
69impl Provider {
70 pub fn new(
72 pk: i32,
73 name: String,
74 authorization_flow: uuid::Uuid,
75 invalidation_flow: uuid::Uuid,
76 component: String,
77 assigned_application_slug: Option<String>,
78 assigned_application_name: Option<String>,
79 assigned_backchannel_application_slug: Option<String>,
80 assigned_backchannel_application_name: Option<String>,
81 verbose_name: String,
82 verbose_name_plural: String,
83 meta_model_name: String,
84 ) -> Provider {
85 Provider {
86 pk,
87 name,
88 authentication_flow: None,
89 authorization_flow,
90 invalidation_flow,
91 property_mappings: None,
92 component,
93 assigned_application_slug,
94 assigned_application_name,
95 assigned_backchannel_application_slug,
96 assigned_backchannel_application_name,
97 verbose_name,
98 verbose_name_plural,
99 meta_model_name,
100 }
101 }
102}