umbau 1.0

This commit is contained in:
2026-09-02 20:30:44 +02:00
parent afe6719f51
commit 5c95b21be7
77 changed files with 10733 additions and 1914 deletions

View File

@ -0,0 +1,34 @@
-- Teil D.6 Schritt 1 (Umsetzungsauftrag_Sonnet5.md): drei nie durchgesetzte
-- ("tote") Rollen entfernen, je nach Betreiberentscheidung. Der Betreiber
-- hat sich fuer alle drei fuer "Entfernen" statt "Ausimplementieren"
-- entschieden (Rueckfrage vom 2026-08-31):
--
-- * clipboard -- Clipboard bleibt ausschliesslich ueber das
-- host-globale hosts.clipboard_enabled
-- gesteuert (heutiges Verhalten, unveraendert).
-- * session_recording_view -- Sitzungs-Playback bleibt dauerhaft
-- ausschliesslich globalen Admins vorbehalten
-- (require_global_admin, unveraendert).
-- * admin_hostgroup -- keine delegierte Hostgruppen-Admin-Ebene;
-- es bleibt bei genau zwei Stufen (globaler
-- Admin vs. granulare Rollen ueber Gruppen).
--
-- Diese drei Rollen waren seit 0001_initial.sql vergebbar, aber kein
-- einziger Codepfad hat sie je geprueft (siehe D.1 im Umsetzungsauftrag) --
-- das Entfernen aendert daher am tatsaechlichen Verhalten NICHTS, schliesst
-- aber die falsche Sicherheitserwartung, dass eine Vergabe dieser Rollen
-- irgendeine Wirkung haette.
--
-- Reihenfolge wichtig: zuerst alle Vergaben dieser Rollen loeschen (FK
-- role_id -> roles(id) hat keine eigene ON DELETE-Klausel, siehe
-- 0001_initial.sql:88/0004_user_groups.sql:28), erst danach die
-- roles-Zeilen selbst.
DELETE FROM user_hostgroup_roles
WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup'));
DELETE FROM group_hostgroup_roles
WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup'));
DELETE FROM roles
WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup');