-- =============================================================================
-- Migration 076: Buchhaltung Permissions
-- =============================================================================

-- Feature group
INSERT INTO feature_groups (id, label, sort_order)
VALUES ('buchhaltung', 'Buchhaltung', 13)
ON CONFLICT (id) DO NOTHING;

-- 8 permissions
INSERT INTO permissions (id, feature_group_id, label, description, sort_order) VALUES
  ('buchhaltung:view',            'buchhaltung', 'Ansehen',             'Buchhaltungsdaten einsehen',            1),
  ('buchhaltung:create',          'buchhaltung', 'Erstellen',           'Transaktionen anlegen',                 2),
  ('buchhaltung:edit',            'buchhaltung', 'Bearbeiten',          'Transaktionen bearbeiten',              3),
  ('buchhaltung:delete',          'buchhaltung', 'Löschen',             'Transaktionen löschen',                 4),
  ('buchhaltung:manage_accounts', 'buchhaltung', 'Konten verwalten',    'Konten und Bankkonten verwalten',       5),
  ('buchhaltung:manage_settings', 'buchhaltung', 'Einstellungen',       'Buchhaltungs-Einstellungen verwalten', 6),
  ('buchhaltung:export',          'buchhaltung', 'Exportieren',         'Daten exportieren (CSV/PDF)',           7),
  ('buchhaltung:widget',          'buchhaltung', 'Widget',              'Dashboard-Widget anzeigen',             8)
ON CONFLICT (id) DO NOTHING;

-- Grant all permissions to dashboard_kommando
INSERT INTO group_permissions (authentik_group, permission_id)
SELECT 'dashboard_kommando', id FROM permissions WHERE feature_group_id = 'buchhaltung'
ON CONFLICT DO NOTHING;

-- Grant view, create, edit, widget to dashboard_chargen
INSERT INTO group_permissions (authentik_group, permission_id) VALUES
  ('dashboard_chargen', 'buchhaltung:view'),
  ('dashboard_chargen', 'buchhaltung:create'),
  ('dashboard_chargen', 'buchhaltung:edit'),
  ('dashboard_chargen', 'buchhaltung:widget')
ON CONFLICT DO NOTHING;
