<?php
// limpiar_logs.php

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

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['status' => 'error', 'message' => 'Método no permitido']);
    exit;
}

// Lista blanca de archivos permitidos
$archivosPermitidos = [
    "log_encuesta.json",
    "log_login.json",
    "log_pdf.json",
    "log_rhb.json",
    "log_video.json",
    "log_ubicacion.json",
    "log_generico.json"
];

$input = json_decode(file_get_contents('php://input'), true);

if (!isset($input['archivo']) || !in_array($input['archivo'], $archivosPermitidos)) {
    echo json_encode(['status' => 'error', 'message' => 'Archivo no permitido']);
    exit;
}

$documentRoot = realpath(__DIR__ . '/../..');
$logFile = $documentRoot . "/php/api/" . $input['archivo'];

if (!file_exists($logFile)) {
    echo json_encode(['status' => 'error', 'message' => 'Archivo no encontrado']);
    exit;
}

$json = file_get_contents($logFile);
$logs = json_decode($json, true);

if (!is_array($logs)) {
    echo json_encode(['status' => 'error', 'message' => 'JSON inválido']);
    exit;
}

// Fecha de corte: 3 meses atrás (en milisegundos)
//$mesesAntes = (time() - 60 * 60 * 24 * 30 * 1) * 1000;
$mesesAntes = (time() - 60 * 60 * 24 * 30 * 3) * 1000;
//$mesesAntes = (time() - 60 * 60 * 24 * 30 * 6) * 1000;
//$mesesAntes = (time() - 60 * 60 * 24 * 30 * 9) * 1000;
//$mesesAntes = (time() - 60 * 60 * 24 * 30 * 12) * 1000;

$logs = array_filter($logs, function ($log) use ($mesesAntes) {
    if (isset($log['uniqueNumber'])) {
        return $log['uniqueNumber'] >= $mesesAntes;
    }
    return false;
});

// Guardar resultado filtrado
file_put_contents($logFile, json_encode(array_values($logs), JSON_PRETTY_PRINT));

echo json_encode([
    'status' => 'success',
    'message' => "Limpieza realizada en {$input['archivo']}",
    'total_restantes' => count($logs)
]);
?>