-- Neuer Vertragsstatus CANCELLED_CONFIRMED ("Gekündigt / bestätigt"):
-- gesetzt, sobald eine Kündigungsbestätigung (Datum/Dokument) vorliegt.
-- CANCELLED bleibt "Gekündigt / Bestätigung abwarten" (Kündigungsschreiben raus).
-- MODIFY COLUMN ist idempotent (erneutes Ausführen ergibt denselben Zustand).
ALTER TABLE `Contract` MODIFY COLUMN `status`
  ENUM('DRAFT','PENDING','ACTIVE','CANCELLED','CANCELLED_CONFIRMED','EXPIRED','DEACTIVATED','ONGOING')
  NOT NULL DEFAULT 'DRAFT';

-- Daten-Migration: bestehende CANCELLED-Verträge auf CANCELLED_CONFIRMED heben.
-- Die alte Logik setzte CANCELLED NUR, wenn eine Kündigungsbestätigung
-- (Datum ODER Dokument) vorlag – diese Verträge sind also bereits bestätigt.
-- CANCELLED bedeutet ab jetzt "Bestätigung abwarten" (nur Kündigungsschreiben).
UPDATE `Contract` SET `status` = 'CANCELLED_CONFIRMED'
  WHERE `status` = 'CANCELLED'
    AND (`cancellationConfirmationPath` IS NOT NULL OR `cancellationConfirmationDate` IS NOT NULL);
