-- Seed permissions système INSERT IGNORE INTO permissions (key_name, label) VALUES ('dashboard.view', 'Voir tableau de bord'), ('users.list', 'Lister utilisateurs'), ('users.create', 'Créer utilisateur'), ('users.edit', 'Modifier utilisateur'), ('users.delete', 'Supprimer utilisateur'), ('users.toggle_2fa', 'Activer/Désactiver 2FA'), ('roles.list', 'Lister rôles'), ('roles.create', 'Créer rôle'), ('roles.edit', 'Modifier rôle'), ('roles.delete', 'Supprimer rôle'), ('settings.view', 'Voir paramètres'), ('settings.edit', 'Modifier paramètres'), ('catalog.view', 'Voir catalogue'), ('catalog.create', 'Créer catégorie/article'), ('catalog.edit', 'Modifier catégorie/article'), ('catalog.delete', 'Supprimer catégorie/article'), ('quotes.list', 'Lister devis'), ('quotes.create', 'Créer devis'), ('quotes.edit', 'Modifier devis'), ('quotes.delete', 'Supprimer devis'), ('sla.view', 'Voir SLA'), ('sla.create', 'Créer SLA'), ('sla.edit', 'Modifier SLA'), ('sla.delete', 'Supprimer SLA'); -- Permissions admin (toutes) INSERT IGNORE INTO role_permissions (role_id, permission_id) SELECT r.id, p.id FROM roles r CROSS JOIN permissions p WHERE r.key_name = 'admin'; -- Permissions agent (limitées) INSERT IGNORE INTO role_permissions (role_id, permission_id) SELECT r.id, p.id FROM roles r, permissions p WHERE r.key_name = 'agent' AND p.key_name IN ('dashboard.view', 'quotes.list', 'quotes.create', 'quotes.edit'); -- Permissions technicien (très limitées) INSERT IGNORE INTO role_permissions (role_id, permission_id) SELECT r.id, p.id FROM roles r, permissions p WHERE r.key_name = 'technicien' AND p.key_name IN ('dashboard.view'); -- Seed types maintenance INSERT IGNORE INTO maintenance_types (name) VALUES ('Maintenance corrective'), ('Maintenance préventive'), ('Installation'), ('Migration'), ('Audit technique'); -- Seed SLA policies par défaut INSERT IGNORE INTO sla_policies (maintenance_type_id, priority, response_minutes, resolution_minutes) SELECT mt.id, 'Basse', 480, 1440 FROM maintenance_types mt WHERE mt.name = 'Maintenance préventive' UNION ALL SELECT mt.id, 'Moyenne', 240, 720 FROM maintenance_types mt WHERE mt.name = 'Maintenance préventive' UNION ALL SELECT mt.id, 'Haute', 120, 360 FROM maintenance_types mt WHERE mt.name = 'Maintenance préventive' UNION ALL SELECT mt.id, 'Urgent', 60, 180 FROM maintenance_types mt WHERE mt.name = 'Maintenance préventive' UNION ALL SELECT mt.id, 'Basse', 240, 720 FROM maintenance_types mt WHERE mt.name = 'Maintenance corrective' UNION ALL SELECT mt.id, 'Moyenne', 120, 480 FROM maintenance_types mt WHERE mt.name = 'Maintenance corrective' UNION ALL SELECT mt.id, 'Haute', 60, 240 FROM maintenance_types mt WHERE mt.name = 'Maintenance corrective' UNION ALL SELECT mt.id, 'Urgent', 30, 120 FROM maintenance_types mt WHERE mt.name = 'Maintenance corrective';