Files
tracksteel_app/supabase/migrations/20250726131441-10bbf3c8-5100-41f6-849f-510136d6e148.sql

48 lines
1.5 KiB
SQL

-- Inserir o resource 'producao-prioridades' na tabela interface_resources
INSERT INTO public.interface_resources (
resource_key,
resource_name,
route_path,
icon_name,
parent_key,
is_submenu,
order_index
) VALUES (
'producao-prioridades',
'Prioridades de Fabricação',
'/producao/prioridades',
'PriorityHigh',
'producao',
true,
2
);
-- Buscar o privilege_id do admin (assumindo que existe um privilege padrão para admin)
DO $$
DECLARE
admin_privilege_id UUID;
BEGIN
-- Tentar encontrar um privilege de admin existente
SELECT id INTO admin_privilege_id
FROM public.privileges
WHERE name ILIKE '%admin%'
LIMIT 1;
-- Se não encontrou, criar um privilege de admin
IF admin_privilege_id IS NULL THEN
INSERT INTO public.privileges (name, description, permissions)
VALUES (
'Administrador',
'Acesso completo ao sistema',
'{"can_admin": true, "can_create_update_delete": true, "can_create_only": false, "can_view_only": false}'::jsonb
)
RETURNING id INTO admin_privilege_id;
END IF;
-- Inserir a relação privilege_interface_resources para admin
INSERT INTO public.privilege_interface_resources (privilege_id, resource_key)
VALUES (admin_privilege_id, 'producao-prioridades')
ON CONFLICT (privilege_id, resource_key) DO NOTHING;
RAISE NOTICE 'Resource producao-prioridades criado e associado ao privilege admin: %', admin_privilege_id;
END $$;