authentik_client/models/
scim_source.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ScimSource {
17 #[serde(rename = "pk")]
18 pub pk: uuid::Uuid,
19 #[serde(rename = "name")]
21 pub name: String,
22 #[serde(rename = "slug")]
24 pub slug: String,
25 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
26 pub enabled: Option<bool>,
27 #[serde(rename = "user_property_mappings", skip_serializing_if = "Option::is_none")]
28 pub user_property_mappings: Option<Vec<uuid::Uuid>>,
29 #[serde(rename = "group_property_mappings", skip_serializing_if = "Option::is_none")]
30 pub group_property_mappings: Option<Vec<uuid::Uuid>>,
31 #[serde(rename = "component")]
33 pub component: String,
34 #[serde(rename = "verbose_name")]
36 pub verbose_name: String,
37 #[serde(rename = "verbose_name_plural")]
39 pub verbose_name_plural: String,
40 #[serde(rename = "meta_model_name")]
42 pub meta_model_name: String,
43 #[serde(rename = "managed", deserialize_with = "Option::deserialize")]
45 pub managed: Option<String>,
46 #[serde(rename = "user_path_template", skip_serializing_if = "Option::is_none")]
47 pub user_path_template: Option<String>,
48 #[serde(rename = "root_url")]
50 pub root_url: String,
51 #[serde(rename = "token_obj")]
52 pub token_obj: models::Token,
53}
54
55impl ScimSource {
56 pub fn new(
58 pk: uuid::Uuid,
59 name: String,
60 slug: String,
61 component: String,
62 verbose_name: String,
63 verbose_name_plural: String,
64 meta_model_name: String,
65 managed: Option<String>,
66 root_url: String,
67 token_obj: models::Token,
68 ) -> ScimSource {
69 ScimSource {
70 pk,
71 name,
72 slug,
73 enabled: None,
74 user_property_mappings: None,
75 group_property_mappings: None,
76 component,
77 verbose_name,
78 verbose_name_plural,
79 meta_model_name,
80 managed,
81 user_path_template: None,
82 root_url,
83 token_obj,
84 }
85 }
86}