-- 2026-04-15
-- Libera e consolida a area da corretora para o gestor da Corretora Geral
-- Objetivos:
-- 1) garantir grupo de acesso da corretora no contrato 63
-- 2) vincular o usuario gestor ao grupo
-- 3) garantir baseline do kit.corretor no contrato 63
-- 4) liberar os itens de menu da area /corretora
-- 5) completar telas e namespaces das paginas atuais da corretora
--
-- Usuario alvo:
--   gestor.corretora.geral@tiix.com.br
--
-- Contrato alvo:
--   63 = Corretora Geral

SET @contract_corretora_id = 63;
SET @user_email = CONVERT('gestor.corretora.geral@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;

SET @grupo_slug_corretora = CONVERT('corretora' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;
SET @grupo_slug_corretor = CONVERT('corretor' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;
SET @kit_slug_corretor = CONVERT('kit.corretor' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;
SET @menu_root_slug = CONVERT('menu.area-da-corretora' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;

SET @user_id = (
    SELECT ID
      FROM wpjy_users
     WHERE user_email = @user_email
     ORDER BY ID ASC
     LIMIT 1
);

SET @kit_corretor_id = (
    SELECT id
      FROM wpjy_perm_kits
     WHERE slug = @kit_slug_corretor
     LIMIT 1
);

INSERT INTO wpjy_perm_contract_kit (id_contrato, kit_id, ativo)
SELECT @contract_corretora_id, @kit_corretor_id, 1
WHERE @kit_corretor_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1
      FROM wpjy_perm_contract_kit
     WHERE id_contrato = @contract_corretora_id
       AND kit_id = @kit_corretor_id
  );

UPDATE wpjy_perm_contract_kit
   SET ativo = 1
 WHERE id_contrato = @contract_corretora_id
   AND kit_id = @kit_corretor_id;

INSERT INTO wpjy_grupos_permissoes
  (id_contrato, nome, slug, cor, icone, nivel, parent, descricao)
SELECT
  @contract_corretora_id,
  'Corretora Geral',
  @grupo_slug_corretora,
  'primary',
  'building-2',
  2,
  NULL,
  'Grupo principal de acesso da area da corretora.'
WHERE NOT EXISTS (
  SELECT 1
    FROM wpjy_grupos_permissoes
   WHERE id_contrato = @contract_corretora_id
     AND (slug = @grupo_slug_corretora OR slug = @grupo_slug_corretor)
);

SET @group_corretora_id = (
    SELECT id
      FROM wpjy_grupos_permissoes
     WHERE id_contrato = @contract_corretora_id
       AND (slug = @grupo_slug_corretora OR slug = @grupo_slug_corretor)
     ORDER BY CASE WHEN slug = @grupo_slug_corretora THEN 0 ELSE 1 END, id ASC
     LIMIT 1
);

INSERT INTO wpjy_perm_group_kit (group_id, kit_id)
SELECT @group_corretora_id, @kit_corretor_id
WHERE @group_corretora_id IS NOT NULL
  AND @kit_corretor_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1
      FROM wpjy_perm_group_kit
     WHERE group_id = @group_corretora_id
       AND kit_id = @kit_corretor_id
  );

INSERT INTO wpjy_usuario_grupo_permissao (id_usuario, id_grupo)
SELECT @user_id, @group_corretora_id
WHERE @user_id IS NOT NULL
  AND @group_corretora_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1
      FROM wpjy_usuario_grupo_permissao
     WHERE id_usuario = @user_id
       AND id_grupo = @group_corretora_id
  );

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'menu.area-da-corretora', 'Menu Area da Corretora', 'Exibir a raiz da area da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'menu.area-da-corretora');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'menu.corretora.home', 'Corretora - Inicio', 'Permissao de menu da home da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'menu.corretora.home');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'menu.corretora.empresas', 'Corretora - Empresas', 'Permissao de menu da carteira de empresas da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'menu.corretora.empresas');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'menu.corretora.profissionais', 'Corretora - Profissionais', 'Permissao de menu da base profissional da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'menu.corretora.profissionais');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-equipe', 'Corretora - Equipe', 'Permissao de menu da equipe da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-equipe');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-convites', 'Corretora - Convites', 'Permissao de menu dos convites da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-convites');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'menu.corretora.leads', 'Corretora - Leads', 'Permissao de menu de leads da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'menu.corretora.leads');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-clientes', 'Corretora - Clientes', 'Permissao de menu de clientes da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-clientes');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-empresas-pendentes', 'Corretora - Empresas Pendentes', 'Permissao da fila de empresas pendentes da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-empresas-pendentes');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-convites-empresas', 'Corretora - Convites de Empresas', 'Permissao da tela de convites de empresas da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-convites-empresas');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-niveis', 'Corretora - Niveis', 'Permissao da tela de niveis da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-niveis');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-empresa-editar', 'Corretora - Empresa Editar', 'Permissao da tela de edicao de empresa da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-empresa-editar');

INSERT INTO wpjy_permissoes (slug, nome, descricao, id_tela, tipo)
SELECT 'corretora-profissional-editar', 'Corretora - Profissional Editar', 'Permissao da tela de edicao de profissional da corretora', NULL, 'menu'
WHERE NOT EXISTS (SELECT 1 FROM wpjy_permissoes WHERE slug = 'corretora-profissional-editar');

INSERT INTO wpjy_grupo_permissao (id_grupo, id_permissao)
SELECT @group_corretora_id, p.id
  FROM wpjy_permissoes p
 WHERE @group_corretora_id IS NOT NULL
   AND p.slug IN (
     'menu.area-da-corretora',
     'menu.corretora.home',
     'menu.corretora.empresas',
     'menu.corretora.profissionais',
     'corretora-equipe',
     'corretora-convites',
     'menu.corretora.leads',
     'corretora-clientes',
     'corretora-empresas-pendentes',
     'corretora-convites-empresas',
     'corretora-niveis',
     'corretora-empresa-editar',
     'corretora-profissional-editar'
   )
   AND NOT EXISTS (
     SELECT 1
       FROM wpjy_grupo_permissao gp
      WHERE gp.id_grupo = @group_corretora_id
        AND gp.id_permissao = p.id
   );

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT
  'Area da Corretora',
  '#',
  NULL,
  0,
  13,
  35,
  '_self',
  'lucide:building-2',
  'menu.area-da-corretora',
  NULL,
  NULL
WHERE NOT EXISTS (
  SELECT 1
    FROM wpjy_menus_items
   WHERE menu = 35
     AND slug = 'menu.area-da-corretora'
);

SET @menu_root_id = (
    SELECT id
      FROM wpjy_menus_items
     WHERE menu = 35
       AND slug = 'menu.area-da-corretora'
     ORDER BY id ASC
     LIMIT 1
);

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Inicio', 'index', 'corretora', @menu_root_id, 0, 35, '_self', 'solar:home-2-line-duotone', 'menu.corretora.home', 'home', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'index');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Empresas', 'empresas', 'corretora', @menu_root_id, 1, 35, '_self', 'solar:buildings-3-line-duotone', 'menu.corretora.empresas', 'corretora_empresas', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'empresas');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Equipe', 'equipe', 'corretora', @menu_root_id, 2, 35, '_self', 'solar:users-group-rounded-line-duotone', 'corretora-equipe', 'corretora_equipe', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'equipe');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Profissionais', 'profissionais', 'corretora', @menu_root_id, 3, 35, '_self', 'solar:user-id-line-duotone', 'menu.corretora.profissionais', 'corretora_profissionais', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'profissionais');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Convites Empresas', 'convites-empresas', 'corretora', @menu_root_id, 4, 35, '_self', 'solar:mailbox-line-duotone', 'corretora-convites-empresas', 'corretora_convites_empresas', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'convites-empresas');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Empresas Pendentes', 'empresas-pendentes', 'corretora', @menu_root_id, 5, 35, '_self', 'solar:clipboard-check-line-duotone', 'corretora-empresas-pendentes', 'corretora_empresas_pendentes', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'empresas-pendentes');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Clientes', 'clientes', 'corretora', @menu_root_id, 6, 35, '_self', 'solar:users-group-rounded-line-duotone', 'corretora-clientes', 'corretora_clientes', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'clientes');

INSERT INTO wpjy_menus_items
  (label, link, area, parent, sort, menu, target, icon, slug, tag, parametro_url)
SELECT 'Leads', 'leads', 'corretora', @menu_root_id, 7, 35, '_self', 'solar:widget-6-line-duotone', 'menu.corretora.leads', 'corretora_leads', NULL
WHERE @menu_root_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM wpjy_menus_items WHERE menu = 35 AND area = 'corretora' AND link = 'leads');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/index', 'Corretora - Inicio', 'Home da area da corretora', 'ti ti-home', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/index');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/empresas', 'Corretora - Empresas', 'Carteira de empresas da corretora', 'ti ti-buildings', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/empresas');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/profissionais', 'Corretora - Profissionais', 'Base profissional da corretora', 'ti ti-users', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/profissionais');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/equipe', 'Corretora - Equipe', 'Gestao da equipe da corretora', 'ti ti-users-group', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/equipe');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/convites-empresas', 'Corretora - Convites Empresas', 'Convites para cadastro de empresas da corretora', 'ti ti-mail-fast', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/convites-empresas');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/empresas-pendentes', 'Corretora - Empresas Pendentes', 'Fila de empresas pendentes da corretora', 'ti ti-clipboard-check', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/empresas-pendentes');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/clientes', 'Corretora - Clientes', 'Clientes vinculados a carteira da corretora', 'ti ti-users', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/clientes');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/leads', 'Corretora - Leads', 'Leads e cadastros em espera da corretora', 'ti ti-layout-kanban', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/leads');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/niveis', 'Corretora - Niveis', 'Gestao de niveis da corretora', 'ti ti-medal', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/niveis');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/empresa-editar', 'Corretora - Empresa Editar', 'Edicao de empresa pela corretora', 'ti ti-pencil', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/empresa-editar');

INSERT INTO wpjy_telas (arquivo, nome, descricao, icone, ativa, ajuda)
SELECT 'corretora/profissional-editar', 'Corretora - Profissional Editar', 'Edicao de profissional pela corretora', 'ti ti-pencil', 1, NULL
WHERE NOT EXISTS (SELECT 1 FROM wpjy_telas WHERE arquivo = 'corretora/profissional-editar');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.home', 'Corretora: Home', 'Home da area da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.home');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.empresas', 'Corretora: Empresas', 'Carteira de empresas da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.empresas');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.profissionais', 'Corretora: Profissionais', 'Base profissional da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.profissionais');

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

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.convites-empresas', 'Corretora: Convites Empresas', 'Convites de empresas da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.convites-empresas');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.empresas-pendentes', 'Corretora: Empresas Pendentes', 'Fila de empresas pendentes da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.empresas-pendentes');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.clientes', 'Corretora: Clientes', 'Clientes da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.clientes');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.leads', 'Corretora: Leads', 'Leads da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.leads');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.niveis', 'Corretora: Niveis', 'Niveis da corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.niveis');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.empresa-editar', 'Corretora: Empresa Editar', 'Edicao de empresa pela corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.empresa-editar');

INSERT INTO wpjy_perm_namespaces (ns, label, descricao, escopo, ativo)
SELECT 'corretora.profissional-editar', 'Corretora: Profissional Editar', 'Edicao de profissional pela corretora', 'contrato', 1
WHERE NOT EXISTS (SELECT 1 FROM wpjy_perm_namespaces WHERE ns = 'corretora.profissional-editar');

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

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

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

INSERT INTO wpjy_perm_tela_namespace (padrao_arquivo, ns, sensivel)
VALUES ('pages/corretora/equipe.php', 'corretora.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/convites-empresas.php', 'corretora.convites-empresas', 0)
ON DUPLICATE KEY UPDATE
  ns = VALUES(ns),
  sensivel = VALUES(sensivel);

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

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

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

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

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

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

INSERT INTO wpjy_perm_kit_namespace (kit_id, namespace_id, effect)
SELECT @kit_corretor_id, n.id, 'allow'
  FROM wpjy_perm_namespaces n
 WHERE @kit_corretor_id IS NOT NULL
   AND n.ns IN (
     'corretora.home',
     'corretora.empresas',
     'corretora.profissionais',
     'corretora.equipe',
     'corretora.convites-empresas',
     'corretora.empresas-pendentes',
     'corretora.clientes',
     'corretora.leads',
     'corretora.niveis',
     'corretora.empresa-editar',
     'corretora.profissional-editar'
   )
   AND NOT EXISTS (
     SELECT 1
       FROM wpjy_perm_kit_namespace kn
      WHERE kn.kit_id = @kit_corretor_id
        AND kn.namespace_id = n.id
   );

INSERT INTO wpjy_perm_tela_kit_map (id_tela, kit_id, prioridade)
SELECT t.id, @kit_corretor_id, 100
  FROM wpjy_telas t
 WHERE @kit_corretor_id IS NOT NULL
   AND t.arquivo IN (
     'corretora/index',
     'corretora/empresas',
     'corretora/profissionais',
     'corretora/equipe',
     'corretora/convites-empresas',
     'corretora/empresas-pendentes',
     'corretora/clientes',
     'corretora/leads',
     'corretora/niveis',
     'corretora/empresa-editar',
     'corretora/profissional-editar'
   )
   AND NOT EXISTS (
     SELECT 1
       FROM wpjy_perm_tela_kit_map tk
      WHERE tk.id_tela = t.id
        AND tk.kit_id = @kit_corretor_id
   );

SELECT
    @user_id AS user_id,
    @group_corretora_id AS group_corretora_id,
    @kit_corretor_id AS kit_corretor_id,
    @menu_root_id AS menu_root_id,
    @contract_corretora_id AS contrato_corretora_id;

SELECT
    n.ns,
    kn.effect
FROM wpjy_perm_namespaces n
LEFT JOIN wpjy_perm_kit_namespace kn
       ON kn.namespace_id = n.id
      AND kn.kit_id = @kit_corretor_id
WHERE n.ns IN (
  'corretora.home',
  'corretora.empresas',
  'corretora.profissionais',
  'corretora.equipe',
  'corretora.convites-empresas',
  'corretora.empresas-pendentes',
  'corretora.clientes',
  'corretora.leads',
  'corretora.niveis',
  'corretora.empresa-editar',
  'corretora.profissional-editar'
)
ORDER BY n.ns;
