portal: Betriebszustand an den Modul-Kacheln #423

Merged
patrick merged 1 commits from feat/portal-kachel-status into main 2026-10-28 23:57:41 +01:00
Owner

Aenderung

  • lib/moduleStatus.ts: ordnet Zeilen der Statusseite einem Modul zu (Name gleich Schluessel oder Bezeichnung, Gross-/Kleinschreibung und Sonderzeichen egal; down gewinnt, alles andere als up ist unknown).
  • ModuleGrid: laedt /api/system-status und zeigt Punkt und Text an der Kachel (ModuleTile und .np-dot gab es schon).
  • AdminPanel: getJson exportiert und wiederverwendet.
  • Tests: moduleStatus.test.ts, zwei Rendertests (Treffer, 403).

Auswirkung

  • /api/system-status verlangt core.tenant.admin; normale Nutzer bekommen 403 und sehen keine Punkte. Das ist Absicht, damit der Betriebszustand nicht allen Nutzern offensteht.
  • Welche Kachel einen Punkt bekommt, haengt am Namen des Pruefziels in der Statusseite. Passt kein Name, bleibt die Kachel ohne Status. Die Pruefziele muessen dafuer wie das Modul heissen (z. B. dms, workflow_cases).
  • Braucht PORTAL_STATUS_API_URL (wie das Betriebs-Panel). Auf 204 laeuft keine Statusseite, dort erscheinen vorerst keine Punkte.

Tests (131)

portal 77/77, tsc --noEmit sauber.

🤖 Generated with Claude Code

## Aenderung - `lib/moduleStatus.ts`: ordnet Zeilen der Statusseite einem Modul zu (Name gleich Schluessel oder Bezeichnung, Gross-/Kleinschreibung und Sonderzeichen egal; `down` gewinnt, alles andere als `up` ist `unknown`). - `ModuleGrid`: laedt `/api/system-status` und zeigt Punkt und Text an der Kachel (`ModuleTile` und `.np-dot` gab es schon). - `AdminPanel`: `getJson` exportiert und wiederverwendet. - Tests: `moduleStatus.test.ts`, zwei Rendertests (Treffer, 403). ## Auswirkung - `/api/system-status` verlangt `core.tenant.admin`; normale Nutzer bekommen 403 und sehen keine Punkte. Das ist Absicht, damit der Betriebszustand nicht allen Nutzern offensteht. - Welche Kachel einen Punkt bekommt, haengt am Namen des Pruefziels in der Statusseite. Passt kein Name, bleibt die Kachel ohne Status. Die Pruefziele muessen dafuer wie das Modul heissen (z. B. `dms`, `workflow_cases`). - Braucht `PORTAL_STATUS_API_URL` (wie das Betriebs-Panel). Auf 204 laeuft keine Statusseite, dort erscheinen vorerst keine Punkte. ## Tests (131) portal 77/77, `tsc --noEmit` sauber. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-28 23:56:04 +01:00
portal: Betriebszustand an den Modul-Kacheln
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
63dc5c5a6f
Die Kachel zeigt Punkt und Text, wenn die Statusseite ein Pruefziel kennt,
dessen Name dem Modul-Schluessel oder der Bezeichnung entspricht. Ohne
Berechtigung (403) oder ohne Statusquelle bleibt die Kachel unveraendert.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
patrick merged commit 21e2e34940 into main 2026-10-28 23:57:41 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#423