b51af7ca9a
make bad GUID parse throw an exception so we don't have a client connect with GUID of 0 no longer print out ac debug messages fix small issue of trying to parse empty chat messages fix issue with set level on accounts with multi guid, same IP
55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
using IW4ScriptCommands.Commands;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SharedLibraryCore;
|
|
using SharedLibraryCore.Objects;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace WebfrontCore.Controllers.API
|
|
{
|
|
[Route("api/gsc/[action]")]
|
|
public class GscApiController : ApiController
|
|
{
|
|
[HttpGet("{networkId}")]
|
|
public IActionResult ClientInfo(string networkId)
|
|
{
|
|
var clientInfo = Manager.GetActiveClients()
|
|
.FirstOrDefault(c => c.NetworkId == networkId.ConvertGuidToLong());
|
|
|
|
if (clientInfo != null)
|
|
{
|
|
var sb = new StringBuilder();
|
|
sb.AppendLine($"admin={clientInfo.IsPrivileged()}");
|
|
sb.AppendLine($"level={(int)clientInfo.Level}");
|
|
sb.AppendLine($"levelstring={clientInfo.Level.ToLocalizedLevelName()}");
|
|
sb.AppendLine($"connections={clientInfo.Connections}");
|
|
sb.AppendLine($"authenticated={clientInfo.GetAdditionalProperty<bool>("IsLoggedIn") == true}");
|
|
|
|
return Content(sb.ToString());
|
|
}
|
|
|
|
return Content("");
|
|
}
|
|
|
|
[HttpGet("{networkId}")]
|
|
public IActionResult GetTeamAssignments(string networkId, int serverId, string teams = "", bool isDisconnect = false)
|
|
{
|
|
return Unauthorized();
|
|
|
|
var client = Manager.GetActiveClients()
|
|
.FirstOrDefault(c => c.NetworkId == networkId.ConvertGuidToLong());
|
|
|
|
var server = Manager.GetServers().First(c => c.EndPoint == serverId);
|
|
|
|
teams = teams ?? string.Empty;
|
|
|
|
string assignments = Balance.GetTeamAssignments(client, isDisconnect, server, teams);
|
|
|
|
return Content(assignments);
|
|
}
|
|
}
|
|
}
|