1 2 3 4 5 6 7 8 9
use async_trait::async_trait; use crate::domain::errors::Result; use crate::domain::runtime::outbox::OutboxEvent; #[async_trait] pub trait EventPublisher: Send + Sync { async fn publish(&self, event: &OutboxEvent) -> Result<()>; }