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
This commit is contained in:
2026-05-31 11:50:16 +02:00
parent dacfc3d453
commit 0e9911ebfc
24 changed files with 1294 additions and 21 deletions

View File

@@ -7,6 +7,9 @@ members = [
"crates/adapters/postgres",
"crates/adapters/auth",
"crates/adapters/storage",
"crates/adapters/event-payload",
"crates/adapters/event-transport",
"crates/adapters/nats",
"crates/presentation",
"crates/bootstrap",
"crates/worker",
@@ -40,4 +43,9 @@ application = { path = "crates/application" }
api-types = { path = "crates/api-types" }
adapters-auth = { path = "crates/adapters/auth" }
adapters-storage = { path = "crates/adapters/storage" }
event-payload = { path = "crates/adapters/event-payload" }
event-transport = { path = "crates/adapters/event-transport" }
adapters-nats = { path = "crates/adapters/nats" }
async-nats = "0.48"
async-stream = "0.3"
presentation = { path = "crates/presentation" }