authentik_rust/models/
flow.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Flow {
16 #[serde(rename = "pk")]
17 pub pk: uuid::Uuid,
18 #[serde(rename = "policybindingmodel_ptr_id")]
19 pub policybindingmodel_ptr_id: uuid::Uuid,
20 #[serde(rename = "name")]
21 pub name: String,
22 #[serde(rename = "slug")]
24 pub slug: String,
25 #[serde(rename = "title")]
27 pub title: String,
28 #[serde(rename = "designation")]
30 pub designation: models::FlowDesignationEnum,
31 #[serde(rename = "background")]
33 pub background: String,
34 #[serde(rename = "stages")]
35 pub stages: Vec<uuid::Uuid>,
36 #[serde(rename = "policies")]
37 pub policies: Vec<uuid::Uuid>,
38 #[serde(rename = "cache_count")]
40 pub cache_count: i32,
41 #[serde(rename = "policy_engine_mode", skip_serializing_if = "Option::is_none")]
42 pub policy_engine_mode: Option<models::PolicyEngineMode>,
43 #[serde(rename = "compatibility_mode", skip_serializing_if = "Option::is_none")]
45 pub compatibility_mode: Option<bool>,
46 #[serde(rename = "export_url")]
48 pub export_url: String,
49 #[serde(rename = "layout", skip_serializing_if = "Option::is_none")]
50 pub layout: Option<models::FlowLayoutEnum>,
51 #[serde(rename = "denied_action", skip_serializing_if = "Option::is_none")]
53 pub denied_action: Option<models::DeniedActionEnum>,
54 #[serde(rename = "authentication", skip_serializing_if = "Option::is_none")]
56 pub authentication: Option<models::AuthenticationEnum>,
57}
58
59impl Flow {
60 pub fn new(pk: uuid::Uuid, policybindingmodel_ptr_id: uuid::Uuid, name: String, slug: String, title: String, designation: models::FlowDesignationEnum, background: String, stages: Vec<uuid::Uuid>, policies: Vec<uuid::Uuid>, cache_count: i32, export_url: String) -> Flow {
62 Flow {
63 pk,
64 policybindingmodel_ptr_id,
65 name,
66 slug,
67 title,
68 designation,
69 background,
70 stages,
71 policies,
72 cache_count,
73 policy_engine_mode: None,
74 compatibility_mode: None,
75 export_url,
76 layout: None,
77 denied_action: None,
78 authentication: None,
79 }
80 }
81}
82