mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-10 09:52:18 +02:00
36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
use crate::messaging::MsgKind;
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
|
#[serde(deny_unknown_fields)]
|
|
pub struct TelegramMessagingConfig {
|
|
pub bot_token: String,
|
|
pub chat_ids: Vec<String>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
|
#[serde(deny_unknown_fields)]
|
|
pub struct RestMessagingConfig {
|
|
pub url: String,
|
|
}
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
|
#[serde(deny_unknown_fields)]
|
|
pub struct PushoverMessagingConfig {
|
|
pub(crate) url: Option<String>,
|
|
pub(crate) token: String,
|
|
pub(crate) user: String,
|
|
}
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, Default)]
|
|
#[serde(deny_unknown_fields)]
|
|
pub struct MessagingConfig {
|
|
#[serde(default)]
|
|
pub notify_on: Vec<MsgKind>,
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub telegram: Option<TelegramMessagingConfig>,
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub rest: Option<RestMessagingConfig>,
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub pushover: Option<PushoverMessagingConfig>,
|
|
|
|
} |