use super::mitre::MitreTechniques;
use super::SiemLog;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone)]
pub enum AlertSeverity {
INFORMATIONAL,
LOW,
MEDIUM,
HIGH,
CRITICAL,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct SiemAlert {
pub title: String,
pub description: String,
pub severity: AlertSeverity,
pub date: i64,
pub tags: Vec<String>,
pub techniques: Vec<MitreTechniques>,
pub rule: String,
pub log: SiemLog,
pub aggregation: Option<AlertAggregation>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct AlertAggregation {
pub limit: i64,
pub key: String,
}