-- Migration 054 — AP#11 / PRD-0007-EXT.
-- Adiciona flag `agente_motivo_reprovacao_editar` em tbl_Permissao do
-- newportaltefnet (tabela legacy, MyISAM — vide CLAUDE.md item 13).
--
-- ESCOPO:
--   Permissao gates os 3 endpoints de CRUD do cadastro de motivos:
--     - api/motivo_reprovacao_salvar.php  (POST cria/edita)
--     - api/motivo_reprovacao_toggle.php  (POST ativa/desativa)
--   O endpoint de LISTAGEM (motivo_reprovacao_listar.php GET) e
--   acessivel a qualquer usuario autenticado — o dropdown precisa
--   aparecer no modal mesmo pra quem so aprova/reprova sem poder
--   cadastrar novos motivos.
--
-- NOMENCLATURA:
--   snake_case com prefixo `agente_` — ADR-0004; consolida com as 11
--   flags da Migration 009. NAO usar pontos no nome da coluna (o nome
--   logico `agente.motivo_reprovacao.editar` mencionado no PRD se traduz
--   pra `agente_motivo_reprovacao_editar` na coluna SQL — `auth_helpers.php`
--   faz o mapeamento de `agente.foo.bar` -> `agente_foo_bar` na sessao).
--
-- DEFAULT 'N': nenhum perfil ganha automaticamente. Admin habilita via UI
-- de cadastro de perfis (tblPermission.php).
--
-- CLAUDE.md item 24: 6 PONTOS SINCRONIZADOS no PHP do newportaltefnet
-- precisam ser atualizados em paralelo a esta migration:
--   1. tblPermission.php  (view do checkbox no form de perfil)
--   2. inserirPerfil      (INSERT)
--   3. updatePerfil       (UPDATE no form)
--   4. updateUsuario      (UPDATE quando admin edita usuario)
--   5. selectUserEdit     (SELECT pra popular form de edicao)
--   6. selectUserEditPerm (SELECT pra popular permissoes do usuario)
--
-- O PHP de sincronia NAO faz parte desta migration (vive em
-- newportaltefnet/portaltef/public_html/novo/cadastro/) — sera incluido
-- na entrega do AUTH#X correlato. A migration cria a coluna; o PHP
-- comeca a usar quando AUTH#X commitar.

SET SESSION sql_mode = '';

ALTER TABLE tbl_Permissao
  ADD COLUMN agente_motivo_reprovacao_editar CHAR(1) NOT NULL DEFAULT 'N'
    COMMENT '[satelite:agente] AP#11 — Cadastrar/editar motivos de reprovacao de resgate (CRUD em agente_motivo_reprovacao).';
