25 lines
1.0 KiB
MySQL
25 lines
1.0 KiB
MySQL
|
|
-- 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;
|