public async Task <IJResponse> AdvertiseHeartbeat(
            [FromServices] IServerRepository serverRepository,
            [FromBody] JAdvertiseHeartbeatRequest body)
        {
            Server server = await serverRepository.GetByToken(body.token);

            if (server == null)
            {
                return(JResponse.Error("Server not registered."));
            }

            server.Players       = body.players;
            server.GameInfo      = body.gameInfo;
            server.LastHeartbeat = DateTime.Now;
            await serverRepository.AddOrUpdate(server);

            return(ConvertResponse(JResponse.OK()));
        }
Exemple #2
0
        public async Task <IJResponse> AdvertiseHeartbeatAsync(
            [FromServices] IServerRepository serverRepository,
            [FromBody] JAdvertiseHeartbeatRequest body)
        {
            if (string.IsNullOrEmpty(body?.Token))
            {
                return(ConvertResponse(JResponse.Error(JErrorMessages.InvalidToken)));
            }

            Server server = await serverRepository.GetByTokenAsync(body.Token);

            if (server == null)
            {
                return(ConvertResponse(JResponse.Error(JErrorMessages.ServerNotRegistered)));
            }

            server.Players       = body.Players;
            server.GameInfo      = body.GameInfo;
            server.LastHeartbeat = DateTime.Now;
            await serverRepository.AddOrUpdateAsync(server);

            return(ConvertResponse(JResponse.OK()));
        }