Files
nexarch/migrations/0013_webhook_secret_encryption.up.sql
patrickandClaude Sonnet 5 86d6eee407
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
OPS-10: F-22-Migration idempotent machen (IF EXISTS/IF NOT EXISTS) - Core-E2E-Tests wenden migrations/*.up.sql mehrfach ohne Tracking an
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 10:50:54 +02:00

17 lines
975 B
SQL

-- QA-15 F-22: das Signatur-Geheimnis eines Webhook-Abonnements lag als
-- Klartext in der Registry-Datenbank (`secret`). internal/webhook ist noch
-- in keinem Dienst verdrahtet (API-07 baute nur die Engine) — es gibt keine
-- Bestandsdaten zu migrieren. `secret` wird ersetzt durch
-- `secret_ciphertext` (AES-256-GCM ueber internal/kek, dasselbe Verfahren
-- wie API-16/FDN-09).
-- IF EXISTS/IF NOT EXISTS statt einfacher DROP/ADD COLUMN: mehrere
-- Core-E2E-Tests (internal/e2e) teilen sich dieselbe Registry-Datenbank und
-- wenden alle migrations/*.up.sql je Testlauf erneut an, ohne
-- Migrations-Tracking (siehe internal/e2e/helpers_test.go); ein erneutes
-- DROP COLUMN secret waere sonst der einzige Migrationsschritt in diesem
-- Repository, der beim zweiten Lauf mit einem NICHT tolerierten Fehler
-- (undefined_column) abbricht.
ALTER TABLE webhook_subscriptions
DROP COLUMN IF EXISTS secret,
ADD COLUMN IF NOT EXISTS secret_ciphertext BYTEA NOT NULL;