-- ============================================================================
-- PHASE 3 — Seed: permissions, role grants, default insurance companies
-- Safe to re-run.
-- ============================================================================

USE `garage_management`;

INSERT INTO `permissions` (`module`, `slug`, `name`) VALUES
  ('inspections', 'inspections.view', 'View Vehicle Inspections'),
  ('inspections', 'inspections.manage', 'Create/Edit Vehicle Inspections'),
  ('insurance', 'insurance.view', 'View Insurance Claims'),
  ('insurance', 'insurance.manage', 'Manage Insurance Claims, Surveys & Approvals'),
  ('documents', 'documents.view', 'View Vehicle Photos & Documents'),
  ('documents', 'documents.manage', 'Upload Vehicle Photos & Documents')
ON DUPLICATE KEY UPDATE `name` = VALUES(`name`);

INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT (SELECT id FROM roles WHERE name = 'Admin'), p.id FROM permissions p
WHERE p.module IN ('inspections','insurance','documents')
ON DUPLICATE KEY UPDATE `role_id` = `role_id`;

INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT (SELECT id FROM roles WHERE name = 'Manager'), p.id FROM permissions p
WHERE p.slug IN ('inspections.view','inspections.manage','insurance.view','insurance.manage','documents.view','documents.manage')
ON DUPLICATE KEY UPDATE `role_id` = `role_id`;

INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT (SELECT id FROM roles WHERE name = 'Service Advisor'), p.id FROM permissions p
WHERE p.slug IN ('inspections.view','inspections.manage','insurance.view','insurance.manage','documents.view','documents.manage')
ON DUPLICATE KEY UPDATE `role_id` = `role_id`;

INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT (SELECT id FROM roles WHERE name = 'Mechanic'), p.id FROM permissions p
WHERE p.slug IN ('inspections.view','documents.view')
ON DUPLICATE KEY UPDATE `role_id` = `role_id`;

INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT (SELECT id FROM roles WHERE name = 'Receptionist'), p.id FROM permissions p
WHERE p.slug IN ('documents.view','documents.manage','insurance.view')
ON DUPLICATE KEY UPDATE `role_id` = `role_id`;

-- ---------------------------------------------------------------------------
-- Default insurance companies (common in the Ethiopian market)
-- ---------------------------------------------------------------------------
INSERT INTO `insurance_companies` (`name`, `contact_person`, `phone`, `email`) VALUES
  ('Ethiopian Insurance Corporation', 'Claims Department', '+251 11 551 0900', 'claims@eic.com.et'),
  ('Nyala Insurance S.C.', 'Claims Department', '+251 11 662 1900', 'claims@nyalainsurance.com'),
  ('Awash Insurance Company', 'Claims Department', '+251 11 466 6667', 'claims@awashinsurance.com'),
  ('Nile Insurance Company', 'Claims Department', '+251 11 551 8127', 'claims@nileinsurance.com.et')
ON DUPLICATE KEY UPDATE `contact_person` = VALUES(`contact_person`);
