<?php
require_once 'config.php';

if (!isset($_SESSION['user_id'])) response(["error" => "No autorizado"], 401);

$data = json_decode(file_get_contents("php://input"), true);
$userId = $_SESSION['user_id'];

// 1. Validar que es Propietario
if ($_SESSION['user_role'] !== 'owner') {
    response(["error" => "Solo los propietarios registrados pueden votar."], 403);
}

// 2. Obtener propiedad
$stmtProp = $pdo->prepare("SELECT property_id FROM residents WHERE user_id = ? AND is_owner = 1 LIMIT 1");
$stmtProp->execute([$userId]);
$prop = $stmtProp->fetch();

if (!$prop) response(["error" => "Su cuenta no está vinculada como Propietario Titular."], 403);

$propertyId = $prop['property_id'];

try {
    // 3. Validar duplicidad
    $check = $pdo->prepare("SELECT id FROM live_vote_responses WHERE vote_id = ? AND property_id = ?");
    $check->execute([$data['voteId'], $propertyId]);
    if ($check->fetch()) response(["error" => "Su unidad ya emitió un voto."], 409);

    // 4. Registrar
    $stmt = $pdo->prepare("INSERT INTO live_vote_responses (vote_id, user_id, property_id, option_id) VALUES (?, ?, ?, ?)");
    $stmt->execute([
        $data['voteId'],
        $userId,
        $propertyId,
        $data['optionId']
    ]);

    response(["success" => true]);
} catch (PDOException $e) {
    response(["error" => $e->getMessage()], 500);
}
?>