-- Adiciona permissões para o módulo de Documentos
-- Este script adiciona permissões específicas para visualizar, criar, editar e excluir documentos

INSERT INTO permissions (key_name, name, module) VALUES
-- Documentos
('documentos.view', 'Visualizar Documentos', 'Documentos'),
('documentos.create', 'Criar Documentos', 'Documentos'),
('documentos.edit', 'Editar Documentos', 'Documentos'),
('documentos.delete', 'Excluir Documentos', 'Documentos'),
-- Modelos de Documentos
('documentos.modelos.view', 'Visualizar Modelos de Documentos', 'Documentos'),
('documentos.modelos.create', 'Criar Modelos de Documentos', 'Documentos'),
('documentos.modelos.edit', 'Editar Modelos de Documentos', 'Documentos'),
('documentos.modelos.delete', 'Excluir Modelos de Documentos', 'Documentos')
ON DUPLICATE KEY UPDATE name = VALUES(name);

-- Atualiza permissões do administrador (role_id = 1) para incluir as novas permissões
INSERT INTO role_permissions (role_id, permission_id)
SELECT 1, p.id
FROM permissions p
WHERE p.key_name IN (
    'documentos.view', 'documentos.create', 'documentos.edit', 'documentos.delete',
    'documentos.modelos.view', 'documentos.modelos.create', 'documentos.modelos.edit', 'documentos.modelos.delete'
)
AND NOT EXISTS (
    SELECT 1 FROM role_permissions rp 
    WHERE rp.role_id = 1 AND rp.permission_id = p.id
);

