bmc_hub/migrations/1013_sag_permissions.sql

25 lines
1.0 KiB
MySQL
Raw Permalink Normal View History

-- Dedicated permissions for the Sag module.
-- Existing group access is preserved by copying equivalent ticket permissions.
INSERT INTO permissions (code, description, category) VALUES
('cases.view', 'Se sager', 'cases'),
('cases.create', 'Opret sager', 'cases'),
('cases.edit', 'Redigér sager, relationer, filer og reminders', 'cases'),
('cases.delete', 'Slet sager', 'cases')
ON CONFLICT (code) DO NOTHING;
WITH permission_map(case_code, ticket_code) AS (
VALUES
('cases.view', 'tickets.view'),
('cases.create', 'tickets.create'),
('cases.edit', 'tickets.edit'),
('cases.delete', 'tickets.delete')
)
INSERT INTO group_permissions (group_id, permission_id)
SELECT DISTINCT gp.group_id, case_permission.id
FROM group_permissions gp
JOIN permissions ticket_permission ON ticket_permission.id = gp.permission_id
JOIN permission_map mapping ON mapping.ticket_code = ticket_permission.code
JOIN permissions case_permission ON case_permission.code = mapping.case_code
ON CONFLICT DO NOTHING;