<?php
require_once __DIR__ . '/../../_bootstrap.php';
require_once ROOT_PATH . '/includes/match_functions.php';
$u = afApiOuSessaoUsuario($pdo,'public_live');
if ($_SERVER['REQUEST_METHOD']==='GET') {
    $token = preg_replace('/[^a-f0-9]/','',strtolower((string)($_GET['s'] ?? '')));
    $p = afBuscarPartidaPublicaPorToken($pdo,$token,false,(int)$u['id']);
    if (!$p) jsonResponse(['ok'=>false,'erro'=>'Partida ao vivo não encontrada.'],404);
    try { jsonResponse(['ok'=>true,'sinais'=>afReceberSinaisWebRtc($pdo,$p,(int)$u['id'])]); }
    catch (Throwable $e) { jsonResponse(['ok'=>false,'erro'=>$e->getMessage()],422); }
}
if ($_SERVER['REQUEST_METHOD']!=='POST') jsonResponse(['ok'=>false,'erro'=>'Método não permitido.'],405);
afValidarCsrfApi();
$d = requestJson();
$token = preg_replace('/[^a-f0-9]/','',strtolower((string)($d['s'] ?? '')));
$tipo = strtolower((string)($d['tipo'] ?? ''));
$destino = (int)($d['destinatario_id'] ?? 0);
$payload = is_array($d['payload'] ?? null) ? $d['payload'] : [];
$p = afBuscarPartidaPublicaPorToken($pdo,$token,false,(int)$u['id']);
if (!$p) jsonResponse(['ok'=>false,'erro'=>'Partida ao vivo não encontrada.'],404);
try {
    afEnviarSinalWebRtc($pdo,$p,(int)$u['id'],$tipo,$payload,$destino);
    jsonResponse(['ok'=>true]);
} catch (Throwable $e) {
    jsonResponse(['ok'=>false,'erro'=>$e->getMessage()],422);
}
