Files
flux-releaser/crates/flux-releaser/src/services/domain_events.rs

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(())
}
}