public async Task <GetMovesResponse> GetMovesByGame(GetMovesRequestResource request)
        {
            var moves = await _repository.GetMovesByGame(request.GameId, request.Start, request.Until);

            var resources = _mapper.Map <IEnumerable <Move>, GetMovesResponseResource>(moves);

            return(new GetMovesResponse(resources));
        }
        public async Task <IActionResult> GetMoves(string gameId, [FromQuery] GetMovesRequestResource resource)
        {
            if (resource == null || string.IsNullOrEmpty(gameId))
            {
                return(BadRequest());
            }

            resource.GameId = gameId;

            var result = await _service.GetMovesByGame(resource);


            if (!result.Success)
            {
                if (result.Status == ResponseStatus.NOT_FOUND)
                {
                    return(NotFound());
                }
                return(BadRequest(result.Message));
            }
            return(Ok(result.Resource));
        }