authentik_client/models/
notification_transport.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct NotificationTransport {
17 #[serde(rename = "pk")]
18 pub pk: uuid::Uuid,
19 #[serde(rename = "name")]
20 pub name: String,
21 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
22 pub mode: Option<models::NotificationTransportModeEnum>,
23 #[serde(rename = "mode_verbose")]
25 pub mode_verbose: String,
26 #[serde(rename = "webhook_url", skip_serializing_if = "Option::is_none")]
27 pub webhook_url: Option<String>,
28 #[serde(
30 rename = "webhook_mapping_body",
31 default,
32 with = "::serde_with::rust::double_option",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub webhook_mapping_body: Option<Option<uuid::Uuid>>,
36 #[serde(
38 rename = "webhook_mapping_headers",
39 default,
40 with = "::serde_with::rust::double_option",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub webhook_mapping_headers: Option<Option<uuid::Uuid>>,
44 #[serde(rename = "email_subject_prefix", skip_serializing_if = "Option::is_none")]
45 pub email_subject_prefix: Option<String>,
46 #[serde(rename = "email_template", skip_serializing_if = "Option::is_none")]
47 pub email_template: Option<String>,
48 #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")]
50 pub send_once: Option<bool>,
51}
52
53impl NotificationTransport {
54 pub fn new(pk: uuid::Uuid, name: String, mode_verbose: String) -> NotificationTransport {
56 NotificationTransport {
57 pk,
58 name,
59 mode: None,
60 mode_verbose,
61 webhook_url: None,
62 webhook_mapping_body: None,
63 webhook_mapping_headers: None,
64 email_subject_prefix: None,
65 email_template: None,
66 send_once: None,
67 }
68 }
69}