-- =============================================================================
-- Superusuario: rol ENUM + cuenta SUPERUSUARIO / SUPER123
-- Ejecutar en phpMyAdmin sobre la base de datos de la app (ej. rpm_asistencia).
--
-- 1. En phpMyAdmin, seleccione la base de datos en el panel izquierdo.
-- 2. Pestaña "SQL", pegue este archivo completo y ejecute.
--
-- Requisitos: tabla `users` ya creada (como en init_db / migraciones).
-- Si aún no tiene `access_scope` ni `proyecto_id`, use solo el bloque
-- "INSERT mínimo" al final (comentado) y omita esas columnas en el INSERT principal.
-- =============================================================================

-- Añade SUPERUSUARIO al ENUM de role (idempotente si ya existe el valor).
ALTER TABLE `users`
  MODIFY COLUMN `role` ENUM('ADMINISTRADOR','EMPLEADO','SUPERUSUARIO') NOT NULL;

-- Cuenta semilla (contraseña: SUPER123). Hash bcrypt generado con PHP password_hash().
-- ON DUPLICATE KEY UPDATE: si el usuario ya existe, actualiza rol y contraseña.
INSERT INTO `users` (`username`, `role`, `access_scope`, `proyecto_id`, `password_hash`, `is_active`)
VALUES (
  'SUPERUSUARIO',
  'SUPERUSUARIO',
  NULL,
  NULL,
  '$2y$10$1NfC1vQ7zvE8IkDHFHYxguAy4JXd0C47qM34UbyM1NMxjU3c0YibG',
  1
)
ON DUPLICATE KEY UPDATE
  `role` = VALUES(`role`),
  `access_scope` = VALUES(`access_scope`),
  `proyecto_id` = VALUES(`proyecto_id`),
  `password_hash` = VALUES(`password_hash`),
  `is_active` = VALUES(`is_active`);

-- -----------------------------------------------------------------------------
-- Si MySQL devuelve error "Unknown column access_scope" o "proyecto_id",
-- comente el INSERT anterior y use este (tabla users sin alcance por proyecto):
--
-- INSERT INTO `users` (`username`, `role`, `password_hash`, `is_active`)
-- VALUES (
--   'SUPERUSUARIO',
--   'SUPERUSUARIO',
--   '$2y$10$1NfC1vQ7zvE8IkDHFHYxguAy4JXd0C47qM34UbyM1NMxjU3c0YibG',
--   1
-- )
-- ON DUPLICATE KEY UPDATE
--   `role` = VALUES(`role`),
--   `password_hash` = VALUES(`password_hash`),
--   `is_active` = VALUES(`is_active`);
-- -----------------------------------------------------------------------------
