Files
tracksteel_app/supabase/migrations/20250625233221-47fc638e-8b5f-467b-95af-d910c885d05c.sql

74 lines
3.7 KiB
SQL

-- Inserir todos os recursos de interface atuais da sidebar
INSERT INTO public.interface_resources (resource_key, resource_name, parent_key, icon_name, route_path, is_submenu, order_index) VALUES
-- Menu principal
('dashboard', 'Dashboard', NULL, 'BarChart3', '/dashboard', false, 1),
('cadastro', 'Cadastro', NULL, 'FileText', NULL, false, 2),
('ferramentas', 'Ferramentas', NULL, 'Wrench', NULL, false, 3),
('estoque', 'Estoque', NULL, 'Warehouse', '/estoque', false, 4),
('ofs', 'OFs', NULL, 'FolderOpen', NULL, false, 5),
('producao', 'Produção', NULL, 'Building2', NULL, false, 6),
('expedicao', 'Expedição', NULL, 'Truck', '/expedicao', false, 7),
('obra', 'Obra', NULL, 'HardHat', NULL, false, 8),
('tarefas', 'Tarefas', NULL, 'CheckSquare', NULL, false, 9),
('biblioteca', 'Biblioteca', NULL, 'Book', NULL, false, 10),
('sistema', 'Sistema', NULL, 'Clipboard', '/sistema', false, 11),
('sugestoes', 'Sugestões', NULL, 'MessageSquare', '/sugestoes', false, 12),
('configuracoes', 'Configurações', NULL, 'Settings', NULL, false, 13),
-- Submenus do Cadastro
('cadastro-of', 'Ficha Técnica da OF', 'cadastro', NULL, '/cadastro-of', true, 1),
('cadastro-pecas', 'Cadastro de Peças', 'cadastro', NULL, '/cadastro-pecas', true, 2),
-- Submenus das Ferramentas
('ferramentas-conversores', 'Conversores de dados', 'ferramentas', NULL, '/ferramentas/conversores', true, 1),
-- Submenus das OFs
('ofs-lista', 'Ordens de Fabricação', 'ofs', NULL, '/ofs', true, 1),
('ofs-cronograma', 'Cronograma', 'ofs', NULL, '/ofs/cronograma', true, 2),
('ofs-concluidas', 'OFs Concluídas', 'ofs', NULL, '/cadastro/ofs-concluidas', true, 3),
-- Submenus da Produção
('producao-visao', 'Visão Geral', 'producao', NULL, '/producao', true, 1),
('producao-apontamento', 'Apontamento de Produção', 'producao', NULL, '/apontamento-producao', true, 2),
('producao-dashboard', 'Dashboard de Produção', 'producao', NULL, '/dashboard-producao', true, 3),
-- Submenus da Obra
('obra-dashboard', 'Dashboard de Obras', 'obra', NULL, '/obra', true, 1),
('obra-configuracoes', 'Configurações da Obra', 'obra', NULL, '/obra/configuracoes', true, 2),
-- Submenus das Tarefas
('tarefas-lista', 'Tarefas', 'tarefas', NULL, '/tarefas', true, 1),
('tarefas-historico', 'Histórico', 'tarefas', NULL, '/tarefas/historico', true, 2),
-- Submenus da Biblioteca
('biblioteca-catalogos', 'Catálogos', 'biblioteca', NULL, '/biblioteca/catalogos', true, 1),
('biblioteca-normas', 'Normas', 'biblioteca', NULL, '/biblioteca/normas', true, 2),
('biblioteca-referencias', 'Referências', 'biblioteca', NULL, '/biblioteca/referencias', true, 3),
-- Submenus das Configurações
('configuracoes-gerais', 'Configurações Gerais', 'configuracoes', NULL, '/configuracoes', true, 1),
('theme-customization', 'Personalização de Tema', 'configuracoes', NULL, '/admin/theme-customization', true, 2),
-- Menus de Admin
('admin', 'Admin', NULL, 'Shield', '/admin', false, 14),
('user-management', 'Gerenciar Usuários', NULL, 'UserCog', '/user-management', false, 15)
ON CONFLICT (resource_key) DO UPDATE SET
resource_name = EXCLUDED.resource_name,
parent_key = EXCLUDED.parent_key,
icon_name = EXCLUDED.icon_name,
route_path = EXCLUDED.route_path,
is_submenu = EXCLUDED.is_submenu,
order_index = EXCLUDED.order_index,
updated_at = now();
-- Atualizar recursos existentes para atribuí-los aos grupos padrão
UPDATE public.interface_resources
SET group_id = (SELECT id FROM public.menu_groups WHERE name = 'Principal' LIMIT 1)
WHERE resource_key NOT IN ('admin', 'user-management') AND group_id IS NULL;
UPDATE public.interface_resources
SET group_id = (SELECT id FROM public.menu_groups WHERE name = 'Administração' LIMIT 1)
WHERE resource_key IN ('admin', 'user-management') AND group_id IS NULL;