<?php
declare(strict_types=1);

error_reporting(E_ALL);
ini_set('display_errors', '1');

require_once __DIR__ . '/../app/db.php';

$pdo = db();

// Datos iniciales
$user = 'admin';
$pass = 'Admin12345*'; // CAMBIAR después
$hash = password_hash($pass, PASSWORD_BCRYPT);

// Evitar duplicado si ya existe
$exists = $pdo->prepare("SELECT id FROM usuarios WHERE username = ? LIMIT 1");
$exists->execute([$user]);
if ($exists->fetch()) {
  die("<h3>⚠️ Ya existe el usuario admin.</h3><p>Borrá este archivo y entrá al login.</p>");
}

// Crear usuario
$pdo->prepare(
  "INSERT INTO usuarios (username, ci, password_hash, nombres, apellidos, tipo, activo)
   VALUES (?, NULL, ?, 'Administrador', 'Sistema', 'STAFF', 1)"
)->execute([$user, $hash]);

$uid = (int)$pdo->lastInsertId();

// Asignar rol ADMIN
$roleRow = $pdo->query("SELECT id FROM roles WHERE nombre='ADMIN' LIMIT 1")->fetch();
if (!$roleRow) {
  die("❌ No existe el rol ADMIN en la tabla roles. Ejecutá los INSERT de roles primero.");
}
$roleId = (int)$roleRow['id'];

$pdo->prepare("INSERT INTO usuario_roles (usuario_id, rol_id) VALUES (?, ?)")
    ->execute([$uid, $roleId]);

echo "<h3>✅ Admin creado</h3>";
echo "<p>Usuario: <b>$user</b></p>";
echo "<p>Contraseña: <b>$pass</b></p>";
echo "<p style='color:red'><b>IMPORTANTE: borrá ahora este archivo: public/create_admin.php</b></p>";
