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.prismav3,docs/developer/uc00/db-schema-zielbild-uc-matrix.md,docs/developer/db-schema.mdv6,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_atsind 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_queuein V1 ergänzen oder explizit V2. - [ ] Entscheidung:
notification_recipientsin V1 ergänzen oder explizit V2. - [ ] Entscheidung: Versandstatus als Enum oder Textfeld.
- [ ] Entscheidung:
failedReasoninNotificationLogergänzen oder überSystemLogabbilden. - [ ] Entscheidung: tenant-spezifische Templates in V1 ja/nein.
- [ ] UC07-Spezifikation und Prisma-Zielschema danach synchronisieren.
- [ ] Technische Prisma-Validierung bleibt offen.