use crate::error::McpDomainResult;
use async_trait::async_trait;
use super::events::McpEvent;
#[async_trait]
pub trait EventHandler: Send + Sync {
async fn handle(&self, event: &McpEvent) -> McpDomainResult<()>;
fn name(&self) -> &'static str;
fn handles(&self, _event: &McpEvent) -> bool {
true
}
}
pub mod database_sync;
pub mod health_check;
pub mod lifecycle;
pub mod monitoring;
pub use database_sync::DatabaseSyncHandler;
pub use health_check::HealthCheckHandler;
pub use lifecycle::LifecycleHandler;
pub use monitoring::MonitoringHandler;