<?php
// test_api.php - Diagnosticar problemas de la API
header('Content-Type: text/html; charset=utf-8');
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h2>Diagnóstico de API</h2>";

// 1. Verificar que config.php existe
if (!file_exists('config.php')) {
    die("<p style='color:red'>❌ config.php no existe</p>");
}
echo "<p>✅ config.php existe</p>";

// 2. Incluir config.php
require_once 'config.php';
echo "<p>✅ config.php incluido</p>";

// 3. Probar conexión a DB
$conn = getDB();
if (!$conn) {
    die("<p style='color:red'>❌ Error de conexión a DB</p>");
}
echo "<p>✅ Conexión a DB exitosa</p>";

// 4. Verificar estructura de tablas
$result = $conn->query("SHOW TABLES LIKE 'pedidos'");
if ($result->num_rows == 0) {
    echo "<p style='color:orange'>⚠️ Tabla 'pedidos' no existe</p>";
} else {
    echo "<p>✅ Tabla 'pedidos' existe</p>";
    
    // Verificar columnas
    $columns = $conn->query("SHOW COLUMNS FROM pedidos");
    echo "<p>Columnas en pedidos:</p><ul>";
    while ($col = $columns->fetch_assoc()) {
        echo "<li>{$col['Field']} - {$col['Type']}</li>";
    }
    echo "</ul>";
}

// 5. Probar getPedidos directamente
$fecha = date('Y-m-d');
$stmt = $conn->prepare("SELECT * FROM pedidos WHERE fecha_desayuno = ?");
if (!$stmt) {
    echo "<p style='color:red'>❌ Error prepare: " . $conn->error . "</p>";
} else {
    $stmt->bind_param("s", $fecha);
    if (!$stmt->execute()) {
        echo "<p style='color:red'>❌ Error execute: " . $stmt->error . "</p>";
    } else {
        $result = $stmt->get_result();
        echo "<p>✅ Query ejecutada, encontrados: " . $result->num_rows . " pedidos</p>";
        
        while ($row = $result->fetch_assoc()) {
            echo "<p>ID: {$row['id']} - Hab: {$row['habitacion']} - Estado: {$row['estado_cocina']}</p>";
        }
    }
}

// 6. Probar inserción de un pedido de prueba
echo "<h3>Prueba de inserción:</h3>";
$test_data = [
    'habitacion' => 99,
    'horario' => '8:00 – 8:30',
    'desayunos' => json_encode([['id' => '1', 'nombre' => 'Test', 'cantidad' => 1]]),
    'variaciones' => json_encode([]),
    'nota' => 'test',
    'total_pasajeros' => 1,
    'idioma' => 'es',
    'estado_cocina' => 'nuevo',
    'fecha_desayuno' => $fecha
];

$stmt = $conn->prepare("INSERT INTO pedidos (habitacion, horario, desayunos, variaciones, nota, total_pasajeros, idioma, estado_cocina, fecha_desayuno) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
if (!$stmt) {
    echo "<p style='color:red'>❌ Error prepare insert: " . $conn->error . "</p>";
} else {
    $stmt->bind_param("issssisss", 
        $test_data['habitacion'],
        $test_data['horario'],
        $test_data['desayunos'],
        $test_data['variaciones'],
        $test_data['nota'],
        $test_data['total_pasajeros'],
        $test_data['idioma'],
        $test_data['estado_cocina'],
        $test_data['fecha_desayuno']
    );
    
    if ($stmt->execute()) {
        echo "<p>✅ Inserción de prueba exitosa, ID: " . $conn->insert_id . "</p>";
    } else {
        echo "<p style='color:red'>❌ Error insert: " . $stmt->error . "</p>";
    }
}

$conn->close();
?>