예제 #1
0
        public async Task <ActionResult> Get()
        {
            GrimRequest requestReq = await GrimRequest.Deserialize(Request.Body);

            if (requestReq is null)
            {
                // Handle
                var badReq = GrimResult.FromInt(-1);
                return(BadRequest(badReq));
            }

            _logger.LogDebug("<- Got ranking request: {command}", requestReq.Command);

            switch (requestReq.Command)
            {
            case "ranking.calc2":
                return(OnGetCalc2Ranking(requestReq));

            case "ranking.getCount":
                return(OnGetCount(requestReq));

            case "ranking.getListFriends":
                return(OnGetFriendList(requestReq));
            }

            _logger.LogDebug("<- Got unknown ranking command: {command}", requestReq.Command);
            var badReqs = GrimResult.FromInt(-1);

            return(BadRequest(badReqs));
        }
예제 #2
0
        public ActionResult OnGetCount(GrimRequest request)
        {
            if (!request.TryGetParameterByKey("board_id", out var boardIdParam))
            {
                _logger.LogWarning("Got ranking getCount request without 'board_id'");
                return(BadRequest());
            }

            return(Ok(GrimResult.FromInt(1)));
        }
예제 #3
0
        public async Task <ActionResult> Post()
        {
            var player = Player;

            if (player is null)
            {
                _logger.LogWarning("Could not get current player for host {host}", Request.Host);
                return(Unauthorized());
            }

            GrimRequest gRequest = await GrimRequest.Deserialize(Request.Body);

            if (gRequest is null)
            {
                // Handle
                var badReq = GrimResult.FromInt(-1);
                return(BadRequest(badReq));
            }

            _logger.LogDebug("<- {command}", gRequest.Command);

            switch (gRequest.Command)
            {
            case "profile.update":
                return(await OnProfileUpdate(player, gRequest));

            case "profile.getspecialstatus":
                return(OnGetSpecialStatus());

            case "profile.updatefriendlist":
                return(await OnUpdateFriendList(gRequest));

            case "profile.getsimplefriendlist":
                return(await OnGetSimpleFriendList(player));

            case "profile.updateNickname":
                return(await OnUpdateNickname(player, gRequest));

            case "profile.setpresence":
                return(SetPresence(gRequest));

            case "profile.getSpecialList":
                return(await OnGetUserSpecialPresentList(player, gRequest));
            }

            _logger.LogDebug("Received unimplemented profile call: {command}", gRequest.Command);
            var res = GrimResult.FromInt(-1);

            return(BadRequest(res));
        }
예제 #4
0
        public async Task <ActionResult> Post()
        {
            var player = Player;

            if (player is null)
            {
                _logger.LogWarning("Could not get current player for host {host}", Request.Host);
                return(Unauthorized());
            }

            if (_gsOptions.GameType != GameType.GT5)
            {
                _logger.LogWarning("Got a bbs request on a non GT5 server from host: {host}", Request.Host);
                return(Unauthorized());
            }

            GrimRequest gRequest = await GrimRequest.Deserialize(Request.Body);

            if (gRequest is null)
            {
                // Handle
                var badReq = GrimResult.FromInt(-1);
                return(BadRequest(badReq));
            }

            _logger.LogDebug("<- {command}", gRequest.Command);

            switch (gRequest.Command)
            {
            case "bbs.getCommentList":
                return(await OnRequestGetCommentList(player, gRequest));

            case "bbs.updateComment":
                return(await OnRequestUpdateComment(player, gRequest));

            case "bbs.deleteComment":
                return(await OnRequestDeleteComment(player, gRequest));
            }

            _logger.LogDebug("Received unimplemented bbs call: {command}", gRequest.Command);
            var res = GrimResult.FromInt(-1);

            return(BadRequest(res));
        }
예제 #5
0
        public async Task <ActionResult> Post()
        {
            var player = Player;

            if (player is null)
            {
                _logger.LogWarning("Could not get current player for host {host}", Request.Host);
                return(Unauthorized());
            }

            if (_gsOptions.GameType != GameType.GT6)
            {
                _logger.LogWarning("Got course getlist request on non GT6");
                return(BadRequest());
            }

            GrimRequest requestReq = await GrimRequest.Deserialize(Request.Body);

            if (requestReq is null)
            {
                // Handle
                var badReq = GrimResult.FromInt(-1);
                return(BadRequest(badReq));
            }

            _logger.LogDebug("<- Got course request: {command}", requestReq.Command);

            switch (requestReq.Command)
            {
            case "course.getlist":
                return(await OnGetList(requestReq, player));

            case "course.update":
                return(await OnUpdateCourse(requestReq, player));
            }

            _logger.LogDebug("<- Got unknown course command: {command}", requestReq.Command);
            var badReqs = GrimResult.FromInt(-1);

            return(BadRequest(badReqs));
        }
예제 #6
0
        public async Task <ActionResult> Post(string server)
        {
            var player = Player;

            if (player is null)
            {
                _logger.LogWarning("Could not get current player for host {host}", Request.Host);
                return(Unauthorized());
            }

            if (_gsOptions.GameType != GameType.GT5)
            {
                _logger.LogWarning("Got actionlog request on a non GT5 server from host: {host}", Request.Host);
                return(Unauthorized());
            }

            GrimRequest gRequest = await GrimRequest.Deserialize(Request.Body);

            if (gRequest is null)
            {
                // Handle
                var badReq = GrimResult.FromInt(-1);
                return(BadRequest(badReq));
            }

            _logger.LogDebug("<- {command}", gRequest.Command);

            switch (gRequest.Command)
            {
            case "actionlog.putActionLog":
                return(await OnActionPutLog(player, gRequest));
            }

            _logger.LogDebug("Got unimplemented actionlog call: {command}", gRequest.Command);


            return(BadRequest());
        }