feat(backend): Webhooks mit HMAC-signierter Auslieferung (Modul 28)

WebhooksModule (WebhookSubscription: URL, Events, Secret, aktiv) mit
Event-Dispatcher, angehaengt an 10 Ereignisse in 8 bestehenden Services
(colony.created, inspection.created, queen.created, queen.replaced,
harvest.created, batch.created, batch.updated, product.stock_changed,
task.created, task.completed). Auslieferung ist best-effort und blockiert
die ausloesende Anfrage nicht bei Fehlern.
This commit is contained in:
Nick Szaunig committed 2026-08-23 06:56:56 +02:00
1 parent 8856d7d0f5
commit 59fdc816a0
26 files changed
+590 -8

No files matched your search

+19
View File
@@ -52,6 +52,7 @@ model User {
bottlingBatches BottlingBatch[]
notifications Notification[]
queenEvaluations QueenEvaluation[]
webhookSubscriptions WebhookSubscription[]
@@index([role])
}
@@ -754,3 +755,21 @@ model Notification {
@@index([userId, read])
@@index([priority])
}
// ---------------------------------------------------------------------------
// Webhooks (Abschnitt 27) – v1.x Modul 28
// ---------------------------------------------------------------------------
model WebhookSubscription {
id String @id @default(cuid())
url String
events String[]
secret String
active Boolean @default(true)
createdByUserId String?
createdByUser User? @relation(fields: [createdByUserId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([active])
}