コード例 #1
0
        public async Task GetBans(IHttpContext context)
        {
            Authenticator.VerifyAuth(context);
            var bans = await Dispatcher.RunOnMainThread(() => BansModel.GetBans());

            await context.SendResponse(HttpStatusCode.OK, bans);
        }
コード例 #2
0
        public async Task DeleteBan(IHttpContext context, ulong steamId)
        {
            var removedBan = await Dispatcher.RunOnMainThread(() => BansModel.RemoveBan(steamId));

            if (!removedBan)
            {
                throw new NotFoundException("No ban exists by the given SteamID.");
            }

            await context.SendResponse(HttpStatusCode.OK);
        }
コード例 #3
0
        public async Task GetBan(IHttpContext context, ulong steamId)
        {
            var ban = await Dispatcher.RunOnMainThread(() => BansModel.GetBan(steamId));

            if (ban == null)
            {
                throw new NotFoundException("No ban exists by the given SteamID.");
            }

            await context.SendResponse(HttpStatusCode.OK, ban);
        }
コード例 #4
0
        public async Task BanPlayer(IHttpContext context, ulong steamId, BanPlayerPayload body)
        {
            Authenticator.VerifyAuth(context);

            var bannedPlayer = await Dispatcher.RunOnMainThread(() =>
            {
                var player = PlayersModel.GetPlayer(steamId);
                if (player != null)
                {
                    BansModel.AddBan(steamId, body.hours, body.reason);
                }
                return(player);
            });

            if (bannedPlayer == null)
            {
                throw new NotFoundException("No player exist by the given SteamID.");
            }

            await context.SendResponse(HttpStatusCode.OK, bannedPlayer);
        }