<?php

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization");

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

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: 0");

$documentRoot = realpath(__DIR__ . '/../..');
$logFile = $documentRoot . "/php/api/log_rhb.json";

//$logFile = '/var/www/vhosts/cst.cat/subdomains/pefir/httpdocs/php/api/log_rhb.json';

// Obtener el número único que se usará para buscar el registro (pasado como parámetro GET)
$uniqueNumber = isset($_GET['uniqueNumber']) ? (int)$_GET['uniqueNumber'] : null;

if ($uniqueNumber === null) {
    echo json_encode(['status' => 'error', 'message' => 'No se proporcionó un número para buscar.']);
    exit;
}

if (file_exists($logFile)) {
    $jsonContent = file_get_contents($logFile);
    $logs = json_decode($jsonContent, true);

    if ($logs === null) {
        echo json_encode(['status' => 'error', 'message' => 'No se pudo decodificar el archivo de log.']);
        exit;
    }

    // Buscar el registro con el número exacto
    $foundLog = array_filter($logs, function($log) use ($uniqueNumber) {
        return isset($log['uniqueNumber']) && (int)$log['uniqueNumber'] === $uniqueNumber;
    });

    // Verificar si el registro fue encontrado y devolverlo
    if (!empty($foundLog)) {
        echo json_encode(['status' => 'success', 'message' => 'Registro encontrado.', 'data' => array_values($foundLog)]);
    } else {
        echo json_encode(['status' => 'error', 'message' => 'Registro no encontrado.']);
    }
} else {
    echo json_encode(['status' => 'error', 'message' => 'Archivo de log no encontrado.']);
}
?>
