public async Task <IActionResult> FetchChallengesAsync( EnumGame game = EnumGame.None, EnumChallengeState state = EnumChallengeState.None, bool includeMatches = false ) { var fetchDoxatagsRequest = new FetchDoxatagsRequest(); var fetchDoxatagsResponse = await _identityServiceClient.FetchDoxatagsAsync(fetchDoxatagsRequest); var fetchChallengePayoutsRequest = new FetchChallengePayoutsRequest(); var fetchChallengePayoutsResponse = await _cashierServiceClient.FetchChallengePayoutsAsync(fetchChallengePayoutsRequest); var fetchChallengeHistoryRequest = new FetchChallengeHistoryRequest { Game = game, State = state, IncludeMatches = includeMatches }; var fetchChallengesResponse = await _challengesServiceClient.FetchChallengeHistoryAsync(fetchChallengeHistoryRequest); return(this.Ok(ChallengeMapper.Map(fetchChallengesResponse.Challenges, fetchChallengePayoutsResponse.Payouts, fetchDoxatagsResponse.Doxatags))); }
public override async Task <FetchChallengeHistoryResponse> FetchChallengeHistory(FetchChallengeHistoryRequest request, ServerCallContext context) { var httpContext = context.GetHttpContext(); var userId = httpContext.GetUserId(); var challenges = await _challengeQuery.FetchUserChallengeHistoryAsync( userId, request.Game.ToEnumerationOrNull <Game>(), request.State.ToEnumerationOrNull <ChallengeState>(), request.IncludeMatches); var response = new FetchChallengeHistoryResponse { Challenges = { challenges.Select(ChallengeProfile.Map) } }; return(context.Ok(response)); }