authentik_rust/models/
notification_transport.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NotificationTransport {
16 #[serde(rename = "pk")]
17 pub pk: uuid::Uuid,
18 #[serde(rename = "name")]
19 pub name: String,
20 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
21 pub mode: Option<models::NotificationTransportModeEnum>,
22 #[serde(rename = "mode_verbose")]
24 pub mode_verbose: String,
25 #[serde(rename = "webhook_url", skip_serializing_if = "Option::is_none")]
26 pub webhook_url: Option<String>,
27 #[serde(rename = "webhook_mapping", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub webhook_mapping: Option<Option<uuid::Uuid>>,
29 #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")]
31 pub send_once: Option<bool>,
32}
33
34impl NotificationTransport {
35 pub fn new(pk: uuid::Uuid, name: String, mode_verbose: String) -> NotificationTransport {
37 NotificationTransport {
38 pk,
39 name,
40 mode: None,
41 mode_verbose,
42 webhook_url: None,
43 webhook_mapping: None,
44 send_once: None,
45 }
46 }
47}
48