public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] [RequestBodyType(typeof(GetGroupMemberDetailsRequest), "Get Group Member Details")] GetGroupMemberDetailsRequest req, CancellationToken cancellationToken) { try { GetGroupMemberDetailsResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetGroupMemberDetailsResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } catch (UnauthorisedException ex) { return(new ObjectResult(ResponseWrapper <GetGroupMemberDetailsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.UnauthorisedError, "Unauthorised Error")) { StatusCode = StatusCodes.Status401Unauthorized }); } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetGroupMemberDetails", ex); return(new ObjectResult(ResponseWrapper <GetGroupMemberDetailsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <GetGroupMemberDetailsResponse> GetGroupMemberDetails(GetGroupMemberDetailsRequest request) { string path = $"/api/GetGroupMemberDetails?groupID={request.GroupId}&userId={request.UserId}&authorisingUserId={request.AuthorisingUserId}"; string absolutePath = $"{path}"; using (HttpResponseMessage response = await _httpClientWrapper.GetAsync(HttpClientConfigName.GroupService, absolutePath, CancellationToken.None).ConfigureAwait(false)) { string jsonResponse = await response.Content.ReadAsStringAsync(); var getJobsResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetGroupMemberDetailsResponse, GroupServiceErrorCode> >(jsonResponse); if (getJobsResponse.HasContent && getJobsResponse.IsSuccessful) { return(getJobsResponse.Content); } return(null); } }