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);
        }
Exemple #3
0
 public GetUserGroupsRequestHandler(Request request, ClientConnection clientConnection, IGroupsService groupsService)
 {
     this.request          = (GetUserGroupsRequest)request;
     this.clientConnection = clientConnection;
     this.groupsService    = groupsService;
 }