public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] [RequestBodyType(typeof(GetUserGroupsRequest), "get user groups")] GetUserGroupsRequest req, CancellationToken cancellationToken) { try { if (req.IsValid(out var validationResults)) { GetUserGroupsResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetUserGroupsResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } else { return(new ObjectResult(ResponseWrapper <GetUserGroupsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults)) { StatusCode = 422 }); } } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetUserGroups", ex); return(new ObjectResult(ResponseWrapper <GetUserGroupsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <IActionResult> Get([FromRoute] GetUserGroupsRequest request) { IActionResult result = null; List <UserGroup> applications = await Server.GetUserGroups(request.Application); if (applications != null) { result = Factory.CreateSuccessResponse(applications); } else { result = Factory.CreateNoContentResponse(); } return(result); }
public GetUserGroupsRequestHandler(Request request, ClientConnection clientConnection, IGroupsService groupsService) { this.request = (GetUserGroupsRequest)request; this.clientConnection = clientConnection; this.groupsService = groupsService; }