-- CMP-06: Vier-Augen-Freigabe fuer Loeschungen. Eine Loeschanfrage muss
-- von einer ANDEREN Person bestaetigt werden als der, die sie gestellt
-- hat, bevor RET-03s Destroy() tatsaechlich ausgefuehrt wird. Nur der
-- Hash des Bestaetigungs-Tokens wird gespeichert (Akzeptanzkriterium 3),
-- niemals das Token selbst.
CREATE TABLE IF NOT EXISTS deletion_requests (
    id                    UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    retention_object_id   UUID NOT NULL REFERENCES retention_objects(id) ON DELETE CASCADE,
    requested_by          TEXT NOT NULL,
    requested_at          TIMESTAMPTZ NOT NULL DEFAULT now(),
    confirmation_token_hash BYTEA NOT NULL,
    token_expires_at      TIMESTAMPTZ NOT NULL,
    confirmed_by          TEXT,
    confirmed_at          TIMESTAMPTZ,
    executed_at           TIMESTAMPTZ
);
CREATE INDEX IF NOT EXISTS idx_deletion_requests_object ON deletion_requests (retention_object_id);
