<?php
include 'conexion.php';

header('Content-Type: application/json');

$rawData = file_get_contents("php://input");
$data = json_decode($rawData, true);

if (!isset($data['asientos']) || !is_array($data['asientos'])) {
    echo json_encode(["error" => "Datos inválidos"]);
    exit;
}

$conexionBD->begin_transaction();

try {
    foreach ($data['asientos'] as $idAsiento) {
        // Verificar si el asiento sigue disponible
        $stmtVerificar = $conexionBD->prepare("SELECT estado FROM asientos WHERE id_asiento = ?");
        $stmtVerificar->bind_param("i", $idAsiento);
        $stmtVerificar->execute();
        $resultado = $stmtVerificar->get_result()->fetch_assoc();

        if (!$resultado || $resultado['estado'] !== 'disponible') {
            throw new Exception("El asiento ID $idAsiento ya está ocupado o no existe.");
        }

        // Marcar el asiento como ocupado
        $stmtActualizar = $conexionBD->prepare("UPDATE asientos SET estado = 'ocupado' WHERE id_asiento = ?");
        $stmtActualizar->bind_param("i", $idAsiento);
        $stmtActualizar->execute();
    }

    $conexionBD->commit();
    echo json_encode(["success" => true]);
} catch (Exception $e) {
    $conexionBD->rollback();
    echo json_encode(["error" => $e->getMessage()]);
}
exit;
?>