-- 2026-04-15
-- Normaliza a ACL da equipe compartilhada da unidade para rotas fora de /unidade

SET @kit_assistente_id = (
    SELECT id FROM wpjy_perm_kits
     WHERE slug = 'kit.assistente'
     LIMIT 1
);

SET @kit_empresa_id = (
    SELECT id FROM wpjy_perm_kits
     WHERE slug = 'kit.empresa'
     LIMIT 1
);

SET @kit_corretor_id = (
    SELECT id FROM wpjy_perm_kits
     WHERE slug = 'kit.corretor'
     LIMIT 1
);

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'unidade.equipe', 'Unidade: Equipe', 'Equipe operacional compartilhada da unidade', 'contrato', 1
WHERE NOT EXISTS (
  SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'unidade.equipe'
);

INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
VALUES ('pages/parceiro/unidade-equipe.php', 'unidade.equipe', 0)
ON DUPLICATE KEY UPDATE ns = VALUES(ns), sensivel = VALUES(sensivel);

INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
VALUES ('pages/empresa/unidade-equipe.php', 'unidade.equipe', 0)
ON DUPLICATE KEY UPDATE ns = VALUES(ns), sensivel = VALUES(sensivel);

INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
VALUES ('pages/corretora/unidade-equipe.php', 'unidade.equipe', 0)
ON DUPLICATE KEY UPDATE ns = VALUES(ns), sensivel = VALUES(sensivel);

INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
VALUES ('pages/admin/unidade-equipe.php', 'unidade.equipe', 0)
ON DUPLICATE KEY UPDATE ns = VALUES(ns), sensivel = VALUES(sensivel);

INSERT INTO wpjy_perm_kit_namespace (kit_id, namespace_id, effect)
SELECT q.kit_id, q.namespace_id, 'allow'
  FROM (
    SELECT @kit_assistente_id AS kit_id, n.id AS namespace_id
      FROM wpjy_perm_namespaces n
     WHERE n.ns = 'unidade.equipe'
    UNION ALL
    SELECT @kit_empresa_id AS kit_id, n.id AS namespace_id
      FROM wpjy_perm_namespaces n
     WHERE n.ns = 'unidade.equipe'
    UNION ALL
    SELECT @kit_corretor_id AS kit_id, n.id AS namespace_id
      FROM wpjy_perm_namespaces n
     WHERE n.ns = 'unidade.equipe'
  ) q
 WHERE q.kit_id IS NOT NULL
   AND q.namespace_id IS NOT NULL
   AND NOT EXISTS (
     SELECT 1
       FROM wpjy_perm_kit_namespace kn
      WHERE kn.kit_id = q.kit_id
        AND kn.namespace_id = q.namespace_id
   );

SELECT ns, padrao_arquivo
  FROM wpjy_perm_tela_namespace
 WHERE ns = 'unidade.equipe'
   AND padrao_arquivo IN (
     'pages/unidade/equipe.php',
     'pages/parceiro/unidade-equipe.php',
     'pages/empresa/unidade-equipe.php',
     'pages/corretora/unidade-equipe.php',
     'pages/admin/unidade-equipe.php'
   )
 ORDER BY padrao_arquivo;
