From 0ffa6feb4c604e7701de80d2fc287d6d73c8f592 Mon Sep 17 00:00:00 2001 From: Matthias Hochmeister Date: Mon, 23 Mar 2026 17:38:25 +0100 Subject: [PATCH] new features --- .../migrations/045_add_permissions_batch.sql | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/backend/src/database/migrations/045_add_permissions_batch.sql b/backend/src/database/migrations/045_add_permissions_batch.sql index c6a69ef..bbabe6f 100644 --- a/backend/src/database/migrations/045_add_permissions_batch.sql +++ b/backend/src/database/migrations/045_add_permissions_batch.sql @@ -5,13 +5,44 @@ -- 4. bestellungen:manage_orders -- ═══════════════════════════════════════════════════════════════════════════ --- 0. Ensure admin feature group exists +-- 0. Ensure all feature groups exist (some may be missing from production) -- ═══════════════════════════════════════════════════════════════════════════ INSERT INTO feature_groups (id, label, sort_order) VALUES - ('admin', 'Admin', 10) + ('kalender', 'Kalender', 1), + ('fahrzeuge', 'Fahrzeuge', 2), + ('einsaetze', 'Einsätze', 3), + ('ausruestung', 'Ausrüstung', 4), + ('mitglieder', 'Mitglieder', 5), + ('atemschutz', 'Atemschutz', 6), + ('wissen', 'Wissen', 7), + ('vikunja', 'Vikunja', 8), + ('dashboard', 'Dashboard', 9), + ('admin', 'Admin', 10) ON CONFLICT (id) DO NOTHING; +-- Re-seed base permissions that may have been cascade-deleted if feature groups were missing +-- (wissen, vikunja, dashboard, admin base permissions) +INSERT INTO permissions (id, feature_group_id, label, description, sort_order) VALUES + ('wissen:view', 'wissen', 'Ansehen', 'Wissen-Seite anzeigen', 1), + ('wissen:widget_recent', 'wissen', 'Widget: Letzte', 'Dashboard-Widget letzte Seiten', 2), + ('wissen:widget_search', 'wissen', 'Widget: Suche', 'Dashboard-Widget für BookStack-Suche', 3), + ('vikunja:create_tasks', 'vikunja', 'Aufgaben erstellen', 'Neue Vikunja-Aufgaben erstellen', 1), + ('vikunja:widget_tasks', 'vikunja', 'Widget: Aufgaben', 'Dashboard-Widget für Vikunja-Aufgaben', 2), + ('vikunja:widget_quick_add', 'vikunja', 'Widget: Schnell-Task', 'Dashboard-Widget zum schnellen Erstellen', 3), + ('dashboard:widget_links', 'dashboard', 'Widget: Links', 'Dashboard-Widget für externe Links', 1), + ('dashboard:widget_banner', 'dashboard', 'Widget: Banner', 'Dashboard-Widget für Banner', 2), + ('admin:view', 'admin', 'Ansehen', 'Admin-Panel einsehen', 1), + ('admin:write', 'admin', 'Bearbeiten', 'Admin-Einstellungen ändern', 2) +ON CONFLICT (id) DO NOTHING; + +-- Re-seed wissen grants for all groups (in case they were cascade-deleted) +INSERT INTO group_permissions (authentik_group, permission_id) +SELECT DISTINCT authentik_group, 'wissen:view' +FROM group_permissions +WHERE authentik_group LIKE 'dashboard_%' +ON CONFLICT DO NOTHING; + -- ═══════════════════════════════════════════════════════════════════════════ -- 1. New permissions -- ═══════════════════════════════════════════════════════════════════════════