<?php
/**
 * SAC 2026 - API: Eliminar Registro de Recaudación Mensual
 * Permite borrar un registro histórico para su posterior re-sincronización.
 */
header('Content-Type: application/json');
require_once 'config.php';

// Solo permitir a roles administrativos
if (!isset($_SESSION['user_role']) || !in_array($_SESSION['user_role'], ['admin', 'programmer', 'board', 'manager'])) {
    http_response_code(403);
    echo json_encode(['error' => 'No autorizado']);
    exit;
}

// Capturar ID
$id = $_GET['id'] ?? null;

if (!$id) {
    http_response_code(400);
    echo json_encode(['error' => 'ID no proporcionado']);
    exit;
}

try {
    // 1. Obtener datos para el log antes de borrar
    $stmt = $pdo->prepare("SELECT month, year FROM monthly_collection WHERE id = ?");
    $stmt->execute([$id]);
    $record = $stmt->fetch();

    if (!$record) {
        http_response_code(404);
        echo json_encode(['error' => 'Registro no encontrado']);
        exit;
    }

    // 2. Eliminar el registro
    $deleteStmt = $pdo->prepare("DELETE FROM monthly_collection WHERE id = ?");
    $deleteStmt->execute([$id]);

    // 3. Auditoría
    logSystemAction("Eliminó recaudación mensual de " . $record['month'] . "/" . $record['year'], "RECAUDACION_MENSUAL");

    echo json_encode(['success' => true, 'message' => 'Registro eliminado correctamente']);

} catch (PDOException $e) {
    http_response_code(500);
    echo json_encode(['error' => 'Error de base de datos: ' . $e->getMessage()]);
}
?>