feat: implement SQLite and Postgres event queue adapters

- Added SQLite and Postgres event queue implementations with migrations and payload structures.
- Created migration scripts for both SQLite and Postgres event queues.
- Implemented event publishing and consumption logic for both adapters.
- Added serialization and deserialization for domain events to database payloads.
- Updated presentation and worker crates to support new event queue features.
- Refactored event handling to utilize the new database-backed event queues.
This commit is contained in:
2026-05-10 16:09:36 +02:00
parent 8678bbf391
commit 37b0e07055
15 changed files with 999 additions and 95 deletions

30
Cargo.lock generated
View File

@@ -3385,6 +3385,19 @@ dependencies = [
[[package]]
name = "postgres-event-queue"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"chrono",
"domain",
"futures",
"serde",
"serde_json",
"sqlx",
"tokio",
"tracing",
"uuid",
]
[[package]]
name = "postgres-federation"
@@ -3451,11 +3464,13 @@ dependencies = [
"poster-fetcher",
"poster-storage",
"postgres",
"postgres-event-queue",
"postgres-federation",
"rss 0.1.0",
"serde",
"serde_json",
"sqlite",
"sqlite-event-queue",
"sqlite-federation",
"sqlx",
"template-askama",
@@ -4512,6 +4527,19 @@ dependencies = [
[[package]]
name = "sqlite-event-queue"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"chrono",
"domain",
"futures",
"serde",
"serde_json",
"sqlx",
"tokio",
"tracing",
"uuid",
]
[[package]]
name = "sqlite-federation"
@@ -6221,9 +6249,11 @@ dependencies = [
"poster-fetcher",
"poster-storage",
"postgres",
"postgres-event-queue",
"serde",
"serde_json",
"sqlite",
"sqlite-event-queue",
"sqlx",
"thiserror 2.0.18",
"tokio",