27 lines
925 B
SQL
27 lines
925 B
SQL
-- Migration v1.5.2: Role-based menu permissions
|
|
CREATE TABLE IF NOT EXISTS role_menu_permissions (
|
|
id SERIAL PRIMARY KEY,
|
|
role VARCHAR(20) NOT NULL,
|
|
menu_key VARCHAR(50) NOT NULL,
|
|
visible BOOLEAN NOT NULL DEFAULT TRUE,
|
|
UNIQUE(role, menu_key)
|
|
);
|
|
|
|
-- Default: enable all menus for both roles
|
|
INSERT INTO role_menu_permissions (role, menu_key, visible) VALUES
|
|
('engineer', 'tasks', true),
|
|
('engineer', 'reports', true),
|
|
('engineer', 'incidents', true),
|
|
('engineer', 'questionnaire', true),
|
|
('engineer', 'passports', true),
|
|
('engineer', 'customers', true),
|
|
('engineer', 'objects', true),
|
|
('engineer', 'sla', true),
|
|
('engineer', 'tech_access', true),
|
|
('engineer', 'docs', true),
|
|
('technician', 'tasks', true),
|
|
('technician', 'reports', true),
|
|
('technician', 'incidents', true),
|
|
('technician', 'checklist', true)
|
|
ON CONFLICT (role, menu_key) DO NOTHING;
|