<?php
require_once __DIR__.'/../../_bootstrap.php';
require_once ROOT_PATH.'/includes/match_functions.php';
$u=afApiOuSessaoUsuario($pdo,'social_follow');
if(function_exists('afMinorPolicyApiAssert'))afMinorPolicyApiAssert($pdo,$u,'social_follow');
if($_SERVER['REQUEST_METHOD']!=='POST') jsonResponse(['ok'=>false,'erro'=>'Método não permitido.'],405);
afValidarCsrfApi();
$body=json_decode(file_get_contents('php://input'),true)?:$_POST;
$auraId=strtoupper(trim((string)($body['aura_id']??'')));
$acao=(string)($body['acao']??'seguir');
$st=$pdo->prepare('SELECT id FROM af_usuarios WHERE aura_id=? AND status=1 LIMIT 1');$st->execute([$auraId]);$alvo=(int)($st->fetchColumn()?:0);
if(!$alvo) jsonResponse(['ok'=>false,'erro'=>'Jogador não encontrado.'],404);
if(afModerationIsBlocked($pdo,(int)$u['id'],$alvo))jsonResponse(['ok'=>false,'erro'=>'Esta interação não está disponível entre as contas.'],403);
try{$seguindo=afDefinirSeguindo($pdo,(int)$u['id'],$alvo,$acao!=='deixar');jsonResponse(['ok'=>true,'seguindo'=>$seguindo,'contadores'=>afContadoresSociais($pdo,$alvo)]);}catch(Throwable $e){jsonResponse(['ok'=>false,'erro'=>$e->getMessage()],422);}
