<?php
/**
 * Script para crear usuario demo administrador
 * Sistema de Inventario Forestal de Guatemala V1.0
 */

require_once 'api/config/database.php';

try {
    // Conectar a la base de datos
    $database = new Database();
    $db = $database->getConnection();

    // Datos del usuario demo
    $nombre = 'Administrador Demo';
    $email = 'admin@demo.com';
    $password = 'demo123';
    $rol = 'Administrador';
    $activo = 1;

    // Generar hash de la contraseña
    $password_hash = password_hash($password, PASSWORD_BCRYPT);

    echo "=== CREANDO USUARIO DEMO ===\n";
    echo "Nombre: $nombre\n";
    echo "Email: $email\n";
    echo "Contraseña: $password\n";
    echo "Rol: $rol\n";
    echo "Hash generado: $password_hash\n\n";

    // Eliminar usuario demo si ya existe
    $deleteQuery = "DELETE FROM usuarios WHERE email = :email";
    $deleteStmt = $db->prepare($deleteQuery);
    $deleteStmt->bindParam(':email', $email);
    $deleteStmt->execute();

    if ($deleteStmt->rowCount() > 0) {
        echo "Usuario demo existente eliminado.\n";
    }

    // Insertar nuevo usuario demo
    $insertQuery = "INSERT INTO usuarios (nombre, email, password_hash, rol, activo) 
                    VALUES (:nombre, :email, :password_hash, :rol, :activo)";
    
    $insertStmt = $db->prepare($insertQuery);
    $insertStmt->bindParam(':nombre', $nombre);
    $insertStmt->bindParam(':email', $email);
    $insertStmt->bindParam(':password_hash', $password_hash);
    $insertStmt->bindParam(':rol', $rol);
    $insertStmt->bindParam(':activo', $activo);

    if ($insertStmt->execute()) {
        $userId = $db->lastInsertId();
        echo "✅ Usuario demo creado exitosamente con ID: $userId\n\n";

        // Verificar que el usuario fue creado correctamente
        $verifyQuery = "SELECT id, nombre, email, rol, activo, fecha_creacion FROM usuarios WHERE id = :id";
        $verifyStmt = $db->prepare($verifyQuery);
        $verifyStmt->bindParam(':id', $userId);
        $verifyStmt->execute();
        
        $user = $verifyStmt->fetch(PDO::FETCH_ASSOC);
        
        echo "=== VERIFICACIÓN ===\n";
        echo "ID: " . $user['id'] . "\n";
        echo "Nombre: " . $user['nombre'] . "\n";
        echo "Email: " . $user['email'] . "\n";
        echo "Rol: " . $user['rol'] . "\n";
        echo "Activo: " . ($user['activo'] ? 'Sí' : 'No') . "\n";
        echo "Fecha creación: " . $user['fecha_creacion'] . "\n\n";

        echo "\n=== RESUMEN FINAL ===\n";
        echo "✅ Usuario demo administrador creado\n";
        echo "\n=== CREDENCIALES DE ACCESO ===\n";
        echo "Email: $email\n";
        echo "Contraseña: $password\n";
        echo "Rol: $rol\n";
        echo "\n¡Ahora puedes acceder al sistema con estas credenciales!\n";

    } else {
        echo "❌ Error al crear el usuario demo\n";
    }

} catch (PDOException $e) {
    echo "❌ Error de base de datos: " . $e->getMessage() . "\n";
} catch (Exception $e) {
    echo "❌ Error: " . $e->getMessage() . "\n";
}
?>