Files
Radicade/Server/Players/PublicPlayerAPI.cs
T
2026-10-16 23:33:13 -07:00

25 lines
673 B
C#

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using RadicadeServer.DB;
namespace RadicadeServer.API.Public
{
[Route("p/players")]
public class PublicPlayerAPI(RecDBContext db) : Controller
{
[HttpGet("online")]
public async Task<ActionResult<List<string>>> GetAllOnlinePlayers()
{
var list = new List<string>();
var presences = await db.Presences.Where(x => x.isOnline).ToListAsync();
foreach (var p in presences)
{
var player = await db.Profiles.FirstOrDefaultAsync(x => x.accountId == p.playerId);
if (player != null)
list.Add($"{player.displayName} (@{player.username})");
}
return Json(list);
}
}
}