- Migration 0038: gruppen.workspace_id (nullable FK), device_merkmale
Tabelle entfernt (keine Datenzeilen auf anode, geprüft vor Drop).
- set_gruppe_workspace()/clear_gruppe_workspace(): weist einer
Gerätegruppe einen alternativen Workspace zu, ersetzt die komplette
Baseline für Mitgliedsgeräte statt nur einzelner Merkmale. Prüft
Organisationszugehörigkeit des Workspace (global oder eigene Org) und
die Exklusivitätsregel (ein Gerät nur in einer workspace-tragenden
Gruppe gleichzeitig) - sowohl beim Zuweisen als auch beim Hinzufügen
eines Geräts zu einer bereits workspace-tragenden Gruppe.
- resolve_effective_workspace_id(): neue Auflösungsstufe zwischen
Bereitstellungsvorlage und OE-/Gruppen-Merkmal-Overrides.
- fetch_auftragskatalog_state()/_listing(): device_merkmale-Override-Ebene
entfernt (gewann bisher immer), select_auftrag/deselect_auftrag-
Endpunkte + set_auftrag_selection() entfernt. get_device_auftragskatalog
bleibt als reine Ist-Zustand-Anzeige.
- Neuer Endpunkt GET /api/v1/organizations/{id}/workspaces (global +
eigene, org-gefiltert - fetch_workspaces() bleibt admin-only, würde
sonst fremde private Workspaces preisgeben).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLk93dhDMrkPXefVdknMV9
23 lines
1.1 KiB
PL/PgSQL
23 lines
1.1 KiB
PL/PgSQL
BEGIN;
|
|
|
|
-- Letzte zwei offene Punkte aus der ursprünglichen Härtung-Liste
|
|
-- (Roadmap-Update 10.09.2026): "Terminal nur bei Bedarf" (weiche
|
|
-- Variante - nur Menüeintrag ausblenden) und "keine Netzwerkscanner"
|
|
-- (schlankes Cleanup, da ADR-0026 Selbstinstallation ohnehin verhindert).
|
|
|
|
INSERT INTO merkmale (id, key, name, description, kategorie_id, im_auftragskatalog) VALUES
|
|
(gen_random_uuid(), 'terminal-sperre', 'Terminal ausblenden',
|
|
'Blendet Terminal-Emulatoren aus dem Anwendungsmenü aus (Menüeintrag, keine Ausführungssperre).',
|
|
(SELECT id FROM kategorien WHERE key = 'haertung'), TRUE),
|
|
(gen_random_uuid(), 'netzwerkscanner-sperre', 'Keine Netzwerkscanner',
|
|
'Entfernt vorinstallierte Netzwerkscanner-Werkzeuge (z.B. nmap, Wireshark) aus dem Image.',
|
|
(SELECT id FROM kategorien WHERE key = 'haertung'), TRUE);
|
|
|
|
INSERT INTO blueprints (id, merkmal_id, backend_id, ansible_role)
|
|
SELECT gen_random_uuid(), m.id, b.id, m.key
|
|
FROM merkmale m
|
|
JOIN backends b ON b.key IN ('mint-image', 'debian-image', 'ubuntu-image')
|
|
WHERE m.key IN ('terminal-sperre', 'netzwerkscanner-sperre');
|
|
|
|
COMMIT;
|