DO $$ BEGIN
    CREATE TYPE public."StatusConfermaEnum" AS ENUM (
        'Inviato conferma',
        'Conferma accettata',
        'Caparra versata'
    );
EXCEPTION
    WHEN duplicate_object THEN null;
END $$;

ALTER TABLE IF EXISTS public.servizio_annunci
ADD COLUMN IF NOT EXISTS status_conferma public."StatusConfermaEnum";

DO $$
BEGIN
    IF EXISTS (
        SELECT 1 FROM information_schema.columns
        WHERE table_schema = 'public'
          AND table_name = 'servizio_annunci'
          AND column_name = 'hasConfermaAdmin'
    ) THEN
        UPDATE public.servizio_annunci
        SET status_conferma = 'Caparra versata'
        WHERE "hasConfermaAdmin" = true;
    END IF;
END $$;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  doc_conferma_ref;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  user_confirmed_at;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  accettato_conferma_at;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  caparra_causale;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  caparra_iban;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  caparra_importo;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  caparra_intestazione;

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  "hasConfermaAdmin";

ALTER TABLE IF EXISTS public.servizio_annunci
DROP COLUMN IF EXISTS  doc_conferma_added;
