Zum Inhalt

DB-Schema-Detailprüfung UC07 – Benachrichtigungen

Stand: 01.08.2026 14:55 Branch: docs/einheitliche-kopfbereiche Status: Abgeschlossen; Gegen vorhandene UC07-Spezifikation und Prisma-Zielschema v3 konzeptionell geprüft

Datum, Uhrzeit Version Änderung Autor
01.08.2026 14:55 1.0 Kopfbereich vereinheitlicht David Mittig
01.08.2026 11:12 1.0 Kopfbereich ergänzt David Mittig

1. Prüfgrundlage

Geprüft wurde gegen:

  • docs/developer/uc07/uc07-spezifikation.md,
  • backend/prisma/schema.prisma v3,
  • docs/developer/uc00/db-schema-zielbild-uc-matrix.md,
  • docs/developer/db-schema.md v6,
  • docs/management/roadmap.md.

Korrekturhinweis:

Die frühere Fassung dieser Detailprüfung enthielt die falsche Aussage, dass keine eigene UC07-Spezifikation gefunden wurde. Die Spezifikation existiert und wurde in dieser Nachprüfung berücksichtigt.

2. Fachlicher UC-Zweck aus der Spezifikation

UC07 stellt die Benachrichtigungslogik bereit. Der V1-Schwerpunkt liegt auf Fristenbenachrichtigungen aus UC05, insbesondere für bald fällige, heute fällige, überfällige oder gesperrte Equipment-Fristen.

UC07 übernimmt Versandlogik, Empfängerprüfung, Nachrichtenvorlagen, Kanalsteuerung, Versandstatus und Protokollierung.

3. Spezifikationsanforderungen gegen Prisma-Zielschema

Anforderung UC07 Prisma-Zielschema v3 Bewertung
Fristenbenachrichtigungen aus UC05 NotificationRule, NotificationLog, Fristenquellen abbildbar
E-Mail-Kanal V1 channel Textfeld abbildbar
Nachrichtenvorlagen NotificationTemplate abbildbar
Versandstatus NotificationLog.status Textfeld teilweise abbildbar
Versandprotokoll NotificationLog abbildbar
Empfängerprüfung Customer, User, NotificationLog.customerId teilweise abbildbar
Vorschau vor Versand kein eigenes Persistenzmodell Backend/UI-Thema
manuelle Versandfreigabe kein eigenes Freigabefeld teilweise offen
Notification Queue nicht vorhanden Abweichung / V1-Entscheidung nötig
Notification Recipients nicht vorhanden Abweichung / V1-Entscheidung nötig
Notification Preferences nicht vorhanden bewusst später möglich
tenant-spezifische Vorlagen NotificationTemplate systemweit ohne tenantId teilweise offen

4. Feld-für-Feld-Bewertung

4.1 NotificationRule

Vorhandene Felder:

  • tenantId,
  • equipmentType,
  • daysBefore,
  • channel,
  • messageTemplate,
  • isActive.

Bewertung:

  • Für einfache Fristenregeln ausreichend.
  • Spezifizierte Felder wie source_uc, source_entity_id, recipient_type, recipient_id, scheduled_at sind hier nicht enthalten.

4.2 NotificationTemplate

Vorhandene Felder:

  • templateKey,
  • language,
  • subject,
  • bodyText,
  • bodyHtml,
  • isActive.

Bewertung:

  • Systemweite V1-Templates sind abbildbar.
  • Die Spezifikation nennt tenant-spezifische Texte als vorbereitet/offen. Das Schema bildet dies aktuell nicht ab.

4.3 NotificationLog

Vorhandene Felder:

  • tenantId,
  • ruleId,
  • equipmentId,
  • customerId,
  • sentAt,
  • channel,
  • status.

Bewertung:

  • Ein einfacher Versandnachweis ist abbildbar.
  • Eine echte Queue, Empfänger-Einzelstatus, Fehlergrund, geplante Ausführung oder Wiederholungsstatus sind nicht sauber modelliert.

5. Relevante Abweichungen / offene Designpunkte

Punkt Bewertung Empfehlung
notification_queue fehlt relevant für geplanten Versand / Vorschläge V1-light ohne Queue bestätigen oder Tabelle ergänzen
notification_recipients fehlt relevant für Sammelversand / Mehrfachkanal bei Sammelversand prüfen
failed_reason fehlt Versandfehler nur grob über status Feld ergänzen oder SystemLog verwenden
Versandstatus als Freitext flexibel, aber weniger kontrolliert Enum prüfen
tenant-spezifische Templates fehlen Spezifikation offen V1 systemweit bestätigen oder tenantId optional ergänzen
manuelle Freigabe nicht modelliert Backend/UI möglich bei V1-Prozess definieren

6. Ergebnis

UC07 ist im Prisma-Zielschema v3 für einfache V1-E-Mail-Benachrichtigungen konzeptionell abbildbar.

UC07 ist nicht vollständig gemäss Spezifikation abgebildet, wenn Queue, Empfängerstatus, geplante Benachrichtigungen, Fehlergründe, Sammelversand oder tenant-spezifische Templates als V1-Pflicht gelten.

Korrekte Statusformulierung:

UC07 ist gegen die vorhandene Spezifikation geprüft. Das Prisma-Zielschema v3 deckt einen einfachen V1-Benachrichtigungskern ab; offene Designpunkte bestehen bei Queue, Empfängermodell, Versandstatus, Fehlergründen und tenant-spezifischen Templates.

7. Offene Nacharbeit

  • [ ] Entscheidung: notification_queue in V1 ergänzen oder explizit V2.
  • [ ] Entscheidung: notification_recipients in V1 ergänzen oder explizit V2.
  • [ ] Entscheidung: Versandstatus als Enum oder Textfeld.
  • [ ] Entscheidung: failedReason in NotificationLog ergänzen oder über SystemLog abbilden.
  • [ ] Entscheidung: tenant-spezifische Templates in V1 ja/nein.
  • [ ] UC07-Spezifikation und Prisma-Zielschema danach synchronisieren.
  • [ ] Technische Prisma-Validierung bleibt offen.