-- 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';