-- ============================================================================= -- Migration: 20260418000001_dev_verificacoes -- Nova aba "Verificações" em /saas/desenvolvimento -- ----------------------------------------------------------------------------- -- Diferente de dev_auditoria_items (bugs conhecidos), esta tabela registra o -- PROCESSO de revisão sênior sessão-a-sessão: o que já foi olhado, o que falta -- olhar, o que foi encontrado em cada área do sistema. -- ============================================================================= CREATE TABLE IF NOT EXISTS public.dev_verificacoes_items ( id BIGSERIAL PRIMARY KEY, area VARCHAR(80) NOT NULL, categoria VARCHAR(120), titulo TEXT NOT NULL, descricao TEXT, resultado TEXT, acao_sugerida TEXT, severidade VARCHAR(20) CHECK (severidade IS NULL OR severidade IN ('critico','alto','medio','baixo')), status VARCHAR(20) NOT NULL DEFAULT 'pendente' CHECK (status IN ('pendente','verificando','ok','problema','corrigido','wontfix')), verificado_em DATE, sessao_verificacao VARCHAR(160), arquivo_afetado TEXT, auditoria_item_id BIGINT REFERENCES public.dev_auditoria_items(id) ON DELETE SET NULL, tags TEXT[] DEFAULT '{}', ordem INTEGER NOT NULL DEFAULT 0, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_dev_verificacoes_area ON public.dev_verificacoes_items(area); CREATE INDEX IF NOT EXISTS idx_dev_verificacoes_status ON public.dev_verificacoes_items(status); CREATE INDEX IF NOT EXISTS idx_dev_verificacoes_severidade ON public.dev_verificacoes_items(severidade); CREATE INDEX IF NOT EXISTS idx_dev_verificacoes_ordem ON public.dev_verificacoes_items(area, ordem); DROP TRIGGER IF EXISTS trg_dev_verificacoes_updated_at ON public.dev_verificacoes_items; CREATE TRIGGER trg_dev_verificacoes_updated_at BEFORE UPDATE ON public.dev_verificacoes_items FOR EACH ROW EXECUTE FUNCTION public.dev_set_updated_at(); ALTER TABLE public.dev_verificacoes_items ENABLE ROW LEVEL SECURITY; DROP POLICY IF EXISTS dev_verificacoes_items_saas_admin_all ON public.dev_verificacoes_items; CREATE POLICY dev_verificacoes_items_saas_admin_all ON public.dev_verificacoes_items FOR ALL TO authenticated USING (public.is_saas_admin()) WITH CHECK (public.is_saas_admin()); COMMENT ON TABLE public.dev_verificacoes_items IS 'Revisão sênior por área/sessão — o que foi verificado e o que foi encontrado.'; COMMENT ON COLUMN public.dev_verificacoes_items.area IS 'Domínio revisado: auth, router, agenda, financeiro, pacientes, comunicacao, etc.'; COMMENT ON COLUMN public.dev_verificacoes_items.auditoria_item_id IS 'Link opcional: se a verificação virou um bug em dev_auditoria_items.';