-- ============================================================================
-- Compliance CFP #6 — Tipos de consent form (LGPD + Gravação)
-- ----------------------------------------------------------------------------
-- Estende o CHECK constraint de document_templates.tipo para acomodar dois
-- novos tipos de consent form exigidos pela LGPD e pela prática clínica:
--   • termo_lgpd          — Consentimento de tratamento de dados pessoais
--   • autorizacao_gravacao — Autorização de gravação de sessão (áudio/vídeo)
--
-- ROADMAP item #1.2 #6 (Biblioteca de consent forms editáveis).
-- ============================================================================

BEGIN;

ALTER TABLE public.document_templates
    DROP CONSTRAINT IF EXISTS dt_tipo_check;

ALTER TABLE public.document_templates
    ADD CONSTRAINT dt_tipo_check CHECK (
        tipo = ANY (ARRAY[
            'declaracao_comparecimento',
            'atestado_psicologico',
            'relatorio_acompanhamento',
            'recibo_pagamento',
            'termo_consentimento',
            'encaminhamento',
            'contrato_servicos',
            'tcle',
            'autorizacao_menor',
            'laudo_psicologico',
            'parecer_psicologico',
            'termo_sigilo',
            'declaracao_inicio_tratamento',
            'termo_alta',
            'tcle_online',
            'termo_lgpd',
            'autorizacao_gravacao',
            'outro'
        ])
    );

COMMENT ON COLUMN public.document_templates.tipo IS
    'Tipo do template. Inclui consent forms (tcle, tcle_online, autorizacao_menor, termo_sigilo, termo_lgpd, autorizacao_gravacao).';

COMMIT;
