server-watchdog 0.1.2

A server monitoring and remote control tool via messenger.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::error::Error;
use async_trait::async_trait;
use crate::domain::config::EventConfig;

#[async_trait]
pub trait EventConfigUseCase: Send + Sync {
    async fn add_event(&self, event_config: EventConfig) -> Result<(), Box<dyn Error + Send + Sync>>;
    async fn list_event(&self) -> Result<Vec<EventConfig>, Box<dyn Error + Send + Sync>>;
    async fn remove_event(&self, name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
}

#[async_trait]
pub trait EventSubscribeUseCase: Send + Sync {
    async fn subscribe(&self, chat_id: String, event_name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
    async fn list_subscribed_event(&self, chat_id: String) -> Result<Vec<EventConfig>, Box<dyn Error + Send + Sync>>;
    async fn unsubscribe(&self, chat_id: String, event_name: String) -> Result<(), Box<dyn Error + Send + Sync>>;
}