-- 2026-04-15
-- Registra em lote as rotas do menu do parceiro no modelo novo de ACL
-- Idempotente: pode rodar mais de uma vez sem duplicar registros.

START TRANSACTION;

DROP TEMPORARY TABLE IF EXISTS tmp_tiix_parceiro_menu_acl;
CREATE TEMPORARY TABLE tmp_tiix_parceiro_menu_acl (
  padrao_arquivo VARCHAR(255) NOT NULL,
  ns VARCHAR(191) NOT NULL,
  label VARCHAR(191) NOT NULL,
  descricao VARCHAR(255) NOT NULL
);

INSERT INTO tmp_tiix_parceiro_menu_acl (padrao_arquivo, ns, label, descricao) VALUES
  ('pages/parceiro/index.php', 'parceiro.index', 'Parceiro / Inicio', 'Tela inicial da area do parceiro'),
  ('pages/parceiro/meus-dados.php', 'parceiro.meus-dados', 'Parceiro / Meus Dados', 'Tela de dados do profissional'),
  ('pages/parceiro/meus-enderecos.php', 'parceiro.meus-enderecos', 'Parceiro / Meus Enderecos', 'Tela de enderecos do profissional'),
  ('pages/parceiro/meus-contatos.php', 'parceiro.meus-contatos', 'Parceiro / Meus Contatos', 'Tela de contatos do profissional'),
  ('pages/parceiro/meus-servicos.php', 'parceiro.meus-servicos', 'Parceiro / Meus Servicos', 'Tela de servicos do profissional'),
  ('pages/parceiro/meus-procedimentos.php', 'parceiro.meus-procedimentos', 'Parceiro / Meus Procedimentos', 'Tela de procedimentos do profissional'),
  ('pages/parceiro/minha-agenda.php', 'parceiro.minha-agenda', 'Parceiro / Minha Agenda', 'Tela de agenda do profissional'),
  ('pages/parceiro/minha-disponibilidade.php', 'parceiro.minha-disponibilidade', 'Parceiro / Minha Disponibilidade', 'Tela de disponibilidade do profissional'),
  ('pages/parceiro/meus-clientes.php', 'parceiro.meus-clientes', 'Parceiro / Meus Clientes', 'Tela de clientes do profissional'),
  ('pages/parceiro/meus-leads.php', 'parceiro.meus-leads', 'Parceiro / Meus Leads', 'Tela de leads do profissional'),
  ('pages/parceiro/mensagens.php', 'parceiro.mensagens', 'Parceiro / Mensagens', 'Tela de mensagens do profissional'),
  ('pages/parceiro/financeiro.php', 'parceiro.financeiro', 'Parceiro / Financeiro', 'Tela financeira do profissional'),
  ('pages/parceiro/meus-convenios.php', 'parceiro.meus-convenios', 'Parceiro / Meus Convenios', 'Tela de convenios do profissional'),
  ('pages/parceiro/suporte.php', 'parceiro.suporte', 'Parceiro / Suporte', 'Tela de suporte do profissional'),
  ('pages/parceiro/perfil-publico-config.php', 'parceiro.perfil-publico-config', 'Parceiro / Perfil Publico', 'Tela de configuracao do perfil publico do profissional'),
  ('pages/parceiro/meus-posts.php', 'parceiro.meus-posts', 'Parceiro / Meus Posts', 'Tela de posts do profissional'),
  ('pages/parceiro/unidades.php', 'parceiro.unidades', 'Parceiro / Unidades', 'Tela de unidades do parceiro'),
  ('pages/parceiro/empresas.php', 'parceiro.empresas', 'Parceiro / Empresas', 'Tela de empresas do parceiro');

-- 1) Namespace das telas
INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT t.ns, t.label, t.descricao, 'contrato', 1
  FROM tmp_tiix_parceiro_menu_acl t
 WHERE NOT EXISTS (
   SELECT 1
     FROM wpjy_perm_namespaces n
    WHERE n.ns = t.ns
 );

-- 2) Mapeamento da rota fisica para o namespace
INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
SELECT t.padrao_arquivo, t.ns, 0
  FROM tmp_tiix_parceiro_menu_acl t
 WHERE NOT EXISTS (
   SELECT 1
     FROM wpjy_perm_tela_namespace ptn
    WHERE ptn.padrao_arquivo = t.padrao_arquivo
 );

-- 3) Allow no kit baseline do profissional
INSERT INTO wpjy_perm_kit_namespace (kit_id, namespace_id, effect)
SELECT k.id, n.id, 'allow'
  FROM wpjy_perm_kits k
  JOIN wpjy_perm_namespaces n
    ON n.ns IN (SELECT ns FROM tmp_tiix_parceiro_menu_acl)
 WHERE k.slug = 'kit.profissional'
   AND NOT EXISTS (
     SELECT 1
       FROM wpjy_perm_kit_namespace kn
      WHERE kn.kit_id = k.id
        AND kn.namespace_id = n.id
   );

DROP TEMPORARY TABLE IF EXISTS tmp_tiix_parceiro_menu_acl;

COMMIT;
