24 lines
475 B
Rust
24 lines
475 B
Rust
pub mod extensions;
|
|
|
|
#[derive(Clone)]
|
|
pub struct DomainEvents {
|
|
nats: Nats,
|
|
}
|
|
|
|
use crate::app::infra::nats::Nats;
|
|
impl DomainEvents {
|
|
pub fn new(nats: Nats) -> Self {
|
|
Self { nats }
|
|
}
|
|
|
|
pub async fn publish_event(&self, event: &str) -> anyhow::Result<()> {
|
|
tracing::trace!("publish events: {}", event);
|
|
|
|
self.nats
|
|
.publish("flux_releaser.domain_events", event.to_string().into())
|
|
.await?;
|
|
|
|
Ok(())
|
|
}
|
|
}
|