use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum NotificationChannel {
Email {
recipients: Vec<String>,
smtp_config: SmtpConfig,
},
Slack {
webhook_url: String,
channel: String,
},
Discord {
webhook_url: String,
},
PagerDuty {
integration_key: String,
},
Webhook {
url: String,
headers: HashMap<String, String>,
},
Log {
level: String,
format: String,
},
Console,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SmtpConfig {
pub server: String,
pub port: u16,
pub username: String,
pub password: String,
pub use_tls: bool,
}