use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use systemprompt_identifiers::NotificationId;
use super::attention::Attention;
use super::notification::Notification;
pub const NOTIFICATION_CREATED: &str = "notification.created";
pub const NOTIFICATION_READ: &str = "notification.read";
pub const NOTIFICATION_ESCALATED: &str = "notification.escalated";
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
pub struct NotificationCreatedPayload {
pub notification: Notification,
pub unread: i64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
pub struct NotificationReadPayload {
pub ids: Vec<NotificationId>,
pub unread: i64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
pub struct NotificationEscalatedPayload {
pub id: NotificationId,
pub attention: Attention,
}