<?php
/**
 * SAC 2025 - DELETE LIVE VOTE ENGINE v6.6
 * Elimina una sesión de votación en vivo y sus respuestas asociadas.
 */
require_once 'config.php';

// Verificación de seguridad: Solo niveles administrativos
checkAccess(['admin', 'programmer', 'board']);

$data = $REQUEST_DATA;

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

try {
    $pdo->beginTransaction();

    // 1. Obtener datos para el log de auditoría
    $stmtInfo = $pdo->prepare("SELECT question FROM live_votes WHERE id = ?");
    $stmtInfo->execute([$data['id']]);
    $vote = $stmtInfo->fetch();

    if ($vote) {
        // 2. Eliminar respuestas primero (Integridad Referencial)
        $stmtRes = $pdo->prepare("DELETE FROM live_vote_responses WHERE vote_id = ?");
        $stmtRes->execute([$data['id']]);

        // 3. Eliminar cabecera de la votación
        $stmtVote = $pdo->prepare("DELETE FROM live_votes WHERE id = ?");
        $stmtVote->execute([$data['id']]);
        
        // 4. Registrar en Auditoría
        logSystemAction("ELIMINÓ ASAMBLEA LIVE: " . $vote['question'], "ASAMBLEA LIVE");

        $pdo->commit();
        response(["success" => true, "message" => "Votación eliminada correctamente"]);
    } else {
        response(["error" => "El registro ya no existe"], 404);
    }
} catch (PDOException $e) {
    if ($pdo->inTransaction()) $pdo->rollBack();
    response(["error" => "Error de base de datos: " . $e->getMessage()], 500);
}
?>