-- ============================================================
-- Migración: Roles de solo lectura para Formularios y Lab
-- Descripción: Agrega columna 'permission' a role_modules,
--              crea roles de lectura y sus asignaciones de módulos.
-- ============================================================

-- ── 1. Agregar columna permission a role_modules (si no existe) ─────────────
ALTER TABLE `role_modules`
    ADD COLUMN IF NOT EXISTS `permission`
        ENUM('read','write') NOT NULL DEFAULT 'write'
        COMMENT 'Nivel de acceso al módulo: read = solo lectura, write = lectura y escritura';

-- ── 2. Nuevos roles de solo lectura ────────────────────────────────────────
INSERT IGNORE INTO `roles` (`name`, `slug`, `description`, `color`, `is_system`) VALUES
('Formularios (Lectura)', 'formularios_readonly', 'Ver y enviar formularios. Sin crear ni editar plantillas.', '#17a2b8', 0),
('Lab Solo Lectura',      'lab_readonly',         'Ver órdenes y domicilios. Sin crear, editar ni eliminar.', '#6c757d', 0);

-- ── 3. Módulos para rol Formularios (Lectura) ───────────────────────────────
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
SELECT r.id, 'lab_formularios', 'read'
FROM `roles` r WHERE r.slug = 'formularios_readonly';

-- ── 4. Módulos para rol Lab Solo Lectura ────────────────────────────────────
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
SELECT r.id, 'lab_ordenes', 'read'
FROM `roles` r WHERE r.slug = 'lab_readonly';

INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
SELECT r.id, 'lab_domicilios', 'read'
FROM `roles` r WHERE r.slug = 'lab_readonly';

INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
SELECT r.id, 'lab_pacientes', 'read'
FROM `roles` r WHERE r.slug = 'lab_readonly';

-- ── 5. También asignar acceso al dashboard a ambos roles nuevos ─────────────
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
SELECT r.id, 'lab_dashboard', 'read'
FROM `roles` r WHERE r.slug IN ('formularios_readonly', 'lab_readonly');
