authentik_rust/models/
policy_binding.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PolicyBinding {
16 #[serde(rename = "pk")]
17 pub pk: uuid::Uuid,
18 #[serde(rename = "policy", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19 pub policy: Option<Option<uuid::Uuid>>,
20 #[serde(rename = "group", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub group: Option<Option<uuid::Uuid>>,
22 #[serde(rename = "user", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub user: Option<Option<i32>>,
24 #[serde(rename = "policy_obj")]
25 pub policy_obj: Box<models::Policy>,
26 #[serde(rename = "group_obj")]
27 pub group_obj: Box<models::Group>,
28 #[serde(rename = "user_obj")]
29 pub user_obj: Box<models::User>,
30 #[serde(rename = "target")]
31 pub target: uuid::Uuid,
32 #[serde(rename = "negate", skip_serializing_if = "Option::is_none")]
34 pub negate: Option<bool>,
35 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
36 pub enabled: Option<bool>,
37 #[serde(rename = "order")]
38 pub order: i32,
39 #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
41 pub timeout: Option<i32>,
42 #[serde(rename = "failure_result", skip_serializing_if = "Option::is_none")]
44 pub failure_result: Option<bool>,
45}
46
47impl PolicyBinding {
48 pub fn new(pk: uuid::Uuid, policy_obj: models::Policy, group_obj: models::Group, user_obj: models::User, target: uuid::Uuid, order: i32) -> PolicyBinding {
50 PolicyBinding {
51 pk,
52 policy: None,
53 group: None,
54 user: None,
55 policy_obj: Box::new(policy_obj),
56 group_obj: Box::new(group_obj),
57 user_obj: Box::new(user_obj),
58 target,
59 negate: None,
60 enabled: None,
61 order,
62 timeout: None,
63 failure_result: None,
64 }
65 }
66}
67