server_watchdog/application/config/
event.rs1use std::error::Error;
2use async_trait::async_trait;
3use crate::domain::config::EventConfig;
4
5#[async_trait]
6pub trait EventConfigUseCase: Send + Sync {
7 async fn add_event(&self, event_config: EventConfig) -> Result<(), Box<dyn Error + Send + Sync>>;
8 async fn list_event(&self) -> Result<Vec<EventConfig>, Box<dyn Error + Send + Sync>>;
9 async fn remove_event(&self, name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
10}
11
12#[async_trait]
13pub trait EventSubscribeUseCase: Send + Sync {
14 async fn subscribe(&self, chat_id: String, event_name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
15 async fn list_subscribed_event(&self, chat_id: String) -> Result<Vec<EventConfig>, Box<dyn Error + Send + Sync>>;
16 async fn unsubscribe(&self, chat_id: String, event_name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
17}