-- Profile Admin Management — Phase E
-- Felder für Admin-User-Management:
--   * banned        → BOOLEAN, default false
--   * banned_at     → TIMESTAMP, gesetzt wenn banned=true
--   * banned_reason → TEXT, optional Note vom Admin
--   * deleted_at    → TIMESTAMP, soft-delete (DSGVO Art. 17, scrubbed PII)
--
-- Soft-Delete-Strategie:
--   nickname → NULL, username → 'deleted-{shortid}', avatar → NULL,
--   demographics → cleared. auth.users-Eintrag bleibt zunächst (manueller
--   Hard-Delete via Supabase-Admin-API in separater Operation).
--
-- Drift-Hinweis: Diese Migration wird via `pnpm prisma migrate deploy` auf
-- staging-/prod-DB gefahren. Lokal NICHT ausführen. Falls Drift erkannt wird:
--   pnpm prisma migrate resolve --applied 20260509_profile_admin_management

ALTER TABLE "rebreak"."profiles"
    ADD COLUMN IF NOT EXISTS "banned"        BOOLEAN      NOT NULL DEFAULT false,
    ADD COLUMN IF NOT EXISTS "banned_at"     TIMESTAMP(3),
    ADD COLUMN IF NOT EXISTS "banned_reason" TEXT,
    ADD COLUMN IF NOT EXISTS "deleted_at"    TIMESTAMP(3);

-- Performance: Admin-User-Liste filtert oft auf nicht-gelöschte / nicht-gebannte
CREATE INDEX IF NOT EXISTS "profiles_deleted_at_idx" ON "rebreak"."profiles" ("deleted_at");
CREATE INDEX IF NOT EXISTS "profiles_plan_idx"       ON "rebreak"."profiles" ("plan");
