<?php
require_once __DIR__.'/../../_bootstrap.php';$u=apiUsuario($pdo);
if($_SERVER['REQUEST_METHOD']==='GET'){$st=$pdo->prepare('SELECT s.id,s.ip_address,s.criada_em,s.ultima_atividade,s.expira_em,s.revogada_em,d.nome,d.plataforma,d.navegador FROM af_sessoes s JOIN af_dispositivos d ON d.id=s.dispositivo_id WHERE s.usuario_id=? ORDER BY s.ultima_atividade DESC');$st->execute([$u['id']]);jsonResponse(['ok'=>true,'sessao_atual'=>(int)$u['sessao_id'],'sessoes'=>$st->fetchAll()]);}
if($_SERVER['REQUEST_METHOD']==='DELETE'){$d=requestJson();$sid=(int)($d['session_id']??0);if(!$sid||$sid===(int)$u['sessao_id'])jsonResponse(['ok'=>false,'erro'=>'Sessão inválida.'],422);$st=$pdo->prepare('UPDATE af_sessoes SET revogada_em=NOW() WHERE id=? AND usuario_id=? AND revogada_em IS NULL');$st->execute([$sid,$u['id']]);jsonResponse(['ok'=>true,'encerradas'=>$st->rowCount()]);}jsonResponse(['ok'=>false,'erro'=>'Método não permitido.'],405);
