authentik_rust/models/
application.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Application {
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 = "provider", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub provider: Option<Option<i32>>,
26 #[serde(rename = "provider_obj")]
27 pub provider_obj: Box<models::Provider>,
28 #[serde(rename = "backchannel_providers", skip_serializing_if = "Option::is_none")]
29 pub backchannel_providers: Option<Vec<i32>>,
30 #[serde(rename = "backchannel_providers_obj")]
31 pub backchannel_providers_obj: Vec<models::Provider>,
32 #[serde(rename = "launch_url", deserialize_with = "Option::deserialize")]
34 pub launch_url: Option<String>,
35 #[serde(rename = "open_in_new_tab", skip_serializing_if = "Option::is_none")]
37 pub open_in_new_tab: Option<bool>,
38 #[serde(rename = "meta_launch_url", skip_serializing_if = "Option::is_none")]
39 pub meta_launch_url: Option<String>,
40 #[serde(rename = "meta_icon", deserialize_with = "Option::deserialize")]
42 pub meta_icon: Option<String>,
43 #[serde(rename = "meta_description", skip_serializing_if = "Option::is_none")]
44 pub meta_description: Option<String>,
45 #[serde(rename = "meta_publisher", skip_serializing_if = "Option::is_none")]
46 pub meta_publisher: Option<String>,
47 #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")]
48 pub policy_engine_mode: Option<models::PolicyEngineMode>,
49 #[serde(rename = "group", skip_serializing_if = "Option::is_none")]
50 pub group: Option<String>,
51}
52
53impl Application {
54 pub fn new(pk: uuid::Uuid, name: String, slug: String, provider_obj: models::Provider, backchannel_providers_obj: Vec<models::Provider>, launch_url: Option<String>, meta_icon: Option<String>) -> Application {
56 Application {
57 pk,
58 name,
59 slug,
60 provider: None,
61 provider_obj: Box::new(provider_obj),
62 backchannel_providers: None,
63 backchannel_providers_obj,
64 launch_url,
65 open_in_new_tab: None,
66 meta_launch_url: None,
67 meta_icon,
68 meta_description: None,
69 meta_publisher: None,
70 policy_engine_mode: None,
71 group: None,
72 }
73 }
74}
75