-- Profile.mdm_managed + Profile.mdm_detected_at
--
-- mdm_managed: true wenn das Device des Users via MDM (NEFilter-Profil sideloaded
-- + non-removable) verwaltet wird. Wird vom App-Code nach nativem NEFilterManager-
-- Check gesetzt (POST /api/users/me/mdm-status).
--
-- mdm_detected_at: Zeitstempel des ersten mdm_managed=true-Writes. Wird nur beim
-- Übergang false→true gesetzt und danach nie überschrieben — Audit-Trail.
--
-- Effekte:
--   - /api/cooldown/status:        canDisableProtection=false, reason="mdm_managed"
--   - /api/cooldown/request:       HTTP 400 error="mdm_managed_cannot_self_deactivate"
--   - /api/protection/state:       mdmManaged=true
--
-- Backfill: alle existierenden Profile bekommen mdm_managed=false (DEFAULT) und
-- mdm_detected_at=NULL — keine Verhaltensänderung für laufende Sessions.

ALTER TABLE "rebreak"."profiles"
    ADD COLUMN IF NOT EXISTS "mdm_managed"     BOOLEAN     NOT NULL DEFAULT false,
    ADD COLUMN IF NOT EXISTS "mdm_detected_at" TIMESTAMPTZ NULL;
