Benachrichtigungs-Event-Typen
Zweck
Event-Typen (NotificationEventType) sind die Stammdaten der Ereignis-Klassen, die SpeamCore meldet — z. B. „Störung Brandmeldeanlage", „Wartung faellig", „Beleg überfällig". Pro Event-Typ pflegen Sie Anzeige (Name, Farbe, Icon), die vdsCategory für NSL-konforme Meldungen, sowie auf dem Tab Optionen die spezifischen Auspraegungen (NotificationEventTypeOption).
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Keycloak-Rolle |
|---|---|---|
view | FE_NotificationEventType, NotificationEventType | — |
create/update/delete | NotificationEventType | APP_SPEAMCORE_CREATE/UPDATE/DELETE_NOTIFICATION_EVENT_TYPE |
view | NotificationEventTypeOption (Tab Optionen) | APP_SPEAMCORE_VIEW_NOTIFICATION_EVENT_TYPE_OPTION (TAB OPTIONEN)` |
Schritt-für-Schritt-Anleitung
- Event-Typen (
/notification-event-types) → + Neu. - Name, Beschreibung, Farbe und Icon vergeben.
vdsCategorywählen, wenn der Event über den VdS-Kanal an die NSL geht.- Tab Optionen — Sub-Auspraegungen ergaenzen (z. B. „Sirene", „Feueralarm Etage 1").

Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|
name | nein | String | Anzeige in Auswahllisten und Reports. | — |
templateName | nein | String | Verknuepfung zu einer bevorzugten NotificationTemplate. | passende Template existiert. |
description | nein | TEXT | Erklaerung für Anwender im Subscription-Setup. | — |
color | nein | Hex-Farbe | UI-Anzeige in Listen und Badges. | — |
icon | nein | String | Icon-Auswahl. | passendes Icon-Set. |
vdsCategory | nein | Enum (~18 Werte) | Steuert das VdS-Routing an die NSL — z. B. fire_automatic, intrusion, fault_power, holdup. | VdS-Kanal vorhanden. |
status | nein | active/inactive | inactive blendet den Event-Typ in Subscription-Setups aus. | — |
isSilent | nein | Boolean (Default false) | Blendet Events dieses Typs aus den Dashboard-Widgets aus (Letzte Meldungen, Letzte Aktivitäten, KPI-Karten, Systemstatus „Letztes Update"). Die Events werden weiterhin erzeugt und protokolliert — nur die Dashboard-Sichtbarkeit ändert sich. | — |
Stille Ereignisse — Dashboard-Rauschen filtern
Mit isSilent lassen sich „Rausch"-Ereignisse aus den Dashboard-Kacheln (u. a. dem Speambox-System-Dashboard) heraushalten, ohne sie ganz abzuschalten. Es gibt zwei Ebenen:
- Typ-Ebene (
NotificationEventType.isSilent) — blendet alle Events dieses Typs aus. - Options-Ebene (
NotificationEventTypeOption.isSilent) — blendet nur Events mit dieser Option aus, auch wenn der übergeordnete Typ nicht stumm ist. So lässt sich z. B. „Störung zurückgesetzt" (ein Reset-Marker) stummschalten, während „Störung aktiv" sichtbar bleibt — eine Anlage zählt dann nicht fälschlich als gestört.
In beiden Fällen bleiben die Events in Logs und Benachrichtigungen erhalten; nur die Dashboard-Anzeige wird ruhiger.
Sub-Felder pro NotificationEventTypeOption (Tab Optionen)
| Feldname | Datentyp | Wirkung |
|---|---|---|
name | String | Auspraegung — z. B. „Sirene aktiv". |
vdsCode | String | Optionaler Code für NSL-Frame. |
isSilent | Boolean (Default false) | Blendet Events mit dieser Option aus den Dashboard-Widgets aus (granularer als der Typ-Schalter). |
notificationEventTypeId | UUID | FK auf den Event-Typ. |
CRUD-Pattern (Standard)
Diese Sub-Route folgt dem Standard-CRUD-Pattern:
- + Neu öffnet ein Modal mit Eingabemaske oder erstellt direkt einen leeren Datensatz und navigiert auf den Detail.
- Detail-Seite verwendet Auto-Save: jede Änderung schreibt sofort via
PATCHin das BE. - Löschen ist Soft-Delete (paranoid) — Datensaetze sind in der Datenbank weiter vorhanden, aber gefiltert.
Spezielles Verhalten dieser Sub-Route ist im jeweiligen Notification-Cluster dokumentiert: siehe Notification-System Konzept.
Wiederverwendbare Konzepte
- Notification-System — Querschnitts-Konzept.
- Berechtigungen verstehen (CASL)
Verknuepfungen zu anderen Modulen
- NotificationSubscription —
notificationEventTypeIdreferenziert diesen Typ. - NotificationTemplate —
notificationEventTypeIdreferenziert diesen Typ. - NotificationEvent — konkret ausgeloeste Events haben
notificationEventTypeId. - NotificationChannel — VdS-Kanal nutzt
vdsCategoryfür NSL-Frame-Mapping.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/notification-event-types | Liste | view NotificationEventType |
POST | /api/notification-event-types | Anlegen | create NotificationEventType |
PATCH | /api/notification-event-types/:id | Ändern | update NotificationEventType |
DELETE | /api/notification-event-types/:id | Soft-Delete | delete NotificationEventType |
Versionshinweise
- 2026-06-22: Feld
isSilentauf Typ- und Options-Ebene dokumentiert — blendet „Rausch"-Ereignisse aus den Dashboard-Widgets aus (Events bleiben erhalten). Verifiziert annotificationEventType.model.ts,notificationEventTypeOption.model.tsund Migration20260618202906. - 2026-04-29: Initiale Veroeffentlichung mit FE-Tiefen-Standard.