Rollen+Permissions-Sync beim Container-Start
Folge-Fix für die DSGVO-Menü-Sache. Settings.tsx hatte ich auf audit:read || gdpr:admin erweitert, aber auf bestehenden Installationen läuft der prisma-Seed nicht (nur auf leeren DBs). Wer das System früher installiert hat, hat die DSGVO-Rolle ohne audit:read in der DB – das JWT enthielt die Perm dann nie, und der neue Settings.tsx-Check blieb wirkungslos. Neues Skript prisma/sync-roles.ts läuft idempotent bei jedem Container-Start: upserts Permissions-Katalog + syncRolePermissions für Admin, Developer, DSGVO, Mitarbeiter (R/W + R/O), Kunde. Stammdaten, User und Verträge werden NICHT angefasst – sicher auf prod. Live-verifiziert: nach `DELETE audit:read FROM RolePermission` liefert der nächste Lauf "+1 Permissions an Rolle #27", DSGVO ist wieder komplett. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -120,6 +120,20 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
- **Live-verifiziert**: 4867 Datensätze + 1 Datei in 13.2s
|
||||
wiederhergestellt, Log-Modal zeigt den vollständigen Verlauf.
|
||||
|
||||
- [x] **🐛 Rollen-Perms-Sync beim Container-Start (Follow-up DSGVO-Fix)**
|
||||
- Bestehende Installationen liefen weiter mit veraltetem
|
||||
Permission-Set für die DSGVO-Rolle (audit:read u.a. fehlten),
|
||||
weil `prisma db seed` per docker-entrypoint nur auf leeren DBs
|
||||
läuft. Folge: Settings.tsx-Fix vom Vorgänger-Commit half nicht,
|
||||
weil das JWT die fehlende Perm gar nicht enthielt.
|
||||
- Neuer Step im Entrypoint: `npx tsx prisma/sync-roles.ts` läuft
|
||||
bei jedem Start. Idempotent, fasst nur Permission- und
|
||||
Role-Tabellen an (keine User/Customers/Contracts), führt
|
||||
`syncRolePermissions` für Admin, Developer, DSGVO,
|
||||
Mitarbeiter, Mitarbeiter (Nur-Lesen), Kunde aus.
|
||||
- Live-verifiziert: `audit:read` aus DSGVO-Rolle gelöscht, Script
|
||||
laufen lassen → "+1 Permission an Rolle #27", wieder vollständig.
|
||||
|
||||
- [x] **🐛 DSGVO-Rolle: Menüpunkte in den Einstellungen unsichtbar**
|
||||
- Symptom: User mit ausschließlich DSGVO-Rolle sah keinerlei
|
||||
Karten unter Einstellungen → System (DSGVO-Dashboard,
|
||||
|
||||
Reference in New Issue
Block a user