authentik_client/models/
notification_transport.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2025.10.2
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// NotificationTransport : NotificationTransport Serializer
15#[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    /// Return selected mode with a UI Label
24    #[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    /// Customize the body of the request. Mapping should return data that is JSON-serializable.
29    #[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    /// Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs
37    #[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    /// Only send notification once, for example when sending a webhook into a chat channel.
49    #[serde(rename = "send_once", skip_serializing_if = "Option::is_none")]
50    pub send_once: Option<bool>,
51}
52
53impl NotificationTransport {
54    /// NotificationTransport Serializer
55    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}