<?php
/**
 * API: GestionPro - Guardar estado de supervisado por día
 */
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(200);
    exit;
}

require_once __DIR__ . '/config/db.php';

try {
    // Leer input JSON
    $input = json_decode(file_get_contents('php://input'), true);
    if (!$input) {
        throw new Exception("Datos de entrada inválidos");
    }

    $fecha = $input['fecha'] ?? '';
    $supervisado = isset($input['supervisado']) ? intval($input['supervisado']) : null;

    if (empty($fecha) || !preg_match('/^\d{4}-\d{2}-\d{2}$/', $fecha)) {
        throw new Exception("Fecha inválida o requerida");
    }

    if ($supervisado === null || ($supervisado !== 0 && $supervisado !== 1)) {
        throw new Exception("Estado de supervisado inválido");
    }

    $pdo = getConnection();

    // Insertar o actualizar el estado supervisado
    $stmt = $pdo->prepare("
        INSERT INTO factura_dias_pdf (fecha, supervisado, total_archivos)
        VALUES (:fecha, :supervisado, 0)
        ON DUPLICATE KEY UPDATE supervisado = :supervisado_update
    ");
    $stmt->execute([
        ':fecha' => $fecha,
        ':supervisado' => $supervisado,
        ':supervisado_update' => $supervisado
    ]);

    echo json_encode([
        'success' => true,
        'message' => "Estado de supervisión actualizado para el día {$fecha}."
    ]);

} catch (Exception $e) {
    http_response_code(400);
    echo json_encode([
        'success' => false,
        'error' => $e->getMessage()
    ]);
}
