<?php
/**
 * SAC 2025 - CLOSE POLL ENGINE
 * Finaliza un proceso de Carta Consulta.
 */
require_once 'config.php';

// Verificación de seguridad: Solo admin, junta o programador
checkAccess(['admin', 'programmer', 'board']);

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

if (!isset($data['id'])) {
    response(["error" => "ID de consulta no proporcionado"], 400);
}

$pollId = $data['id'];

try {
    // 1. Obtener título para el log de auditoría
    $stmtInfo = $pdo->prepare("SELECT title FROM polls WHERE id = ?");
    $stmtInfo->execute([$pollId]);
    $title = $stmtInfo->fetchColumn();

    if (!$title) {
        response(["error" => "La consulta no existe"], 404);
    }

    // 2. Actualizar estatus a 'Cerrada'
    $stmt = $pdo->prepare("UPDATE polls SET status = 'Cerrada' WHERE id = ?");
    $stmt->execute([$pollId]);

    logSystemAction("CERRÓ Carta Consulta: " . $title, "CARTA CONSULTA");

    response(["success" => true, "message" => "Votación finalizada exitosamente."]);

} catch (PDOException $e) {
    response(["error" => "Error de base de datos: " . $e->getMessage()], 500);
}
?>