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")]
42 pub assigned_application_slug: String,
43 #[serde(rename = "assigned_application_name")]
45 pub assigned_application_name: String,
46 #[serde(rename = "assigned_backchannel_application_slug")]
48 pub assigned_backchannel_application_slug: String,
49 #[serde(rename = "assigned_backchannel_application_name")]
51 pub assigned_backchannel_application_name: String,
52 #[serde(rename = "verbose_name")]
54 pub verbose_name: String,
55 #[serde(rename = "verbose_name_plural")]
57 pub verbose_name_plural: String,
58 #[serde(rename = "meta_model_name")]
60 pub meta_model_name: String,
61}
62
63impl Provider {
64 pub fn new(
66 pk: i32,
67 name: String,
68 authorization_flow: uuid::Uuid,
69 invalidation_flow: uuid::Uuid,
70 component: String,
71 assigned_application_slug: String,
72 assigned_application_name: String,
73 assigned_backchannel_application_slug: String,
74 assigned_backchannel_application_name: String,
75 verbose_name: String,
76 verbose_name_plural: String,
77 meta_model_name: String,
78 ) -> Provider {
79 Provider {
80 pk,
81 name,
82 authentication_flow: None,
83 authorization_flow,
84 invalidation_flow,
85 property_mappings: None,
86 component,
87 assigned_application_slug,
88 assigned_application_name,
89 assigned_backchannel_application_slug,
90 assigned_backchannel_application_name,
91 verbose_name,
92 verbose_name_plural,
93 meta_model_name,
94 }
95 }
96}