Files
k-photos/crates/bootstrap/src/log_event_publisher.rs
Gabriel Kaszewski 0e9911ebfc feat: event infrastructure — payload, transport, NATS adapter
- EventPublisher now takes &DomainEvent (11 call sites + 3 impls updated)
- EventEnvelope + EventConsumer port in domain
- event-payload: serializable DomainEvent mirror with subject routing
- event-transport: generic Transport/MessageSource traits, publisher/consumer adapters
- adapters-nats: JetStream publish + durable pull consumer
2026-05-31 11:50:16 +02:00

13 lines
359 B
Rust

use async_trait::async_trait;
use domain::{errors::DomainError, events::DomainEvent, ports::EventPublisher};
pub struct LogEventPublisher;
#[async_trait]
impl EventPublisher for LogEventPublisher {
async fn publish(&self, event: &DomainEvent) -> Result<(), DomainError> {
tracing::info!(?event, "domain event published");
Ok(())
}
}