private async Task <IPagedList <API.Models.v1.Response.UserResponse> > GetUserResponses(
            API.Models.v1.Request.GetUsersRequest getUsersRequest)
        {
            if (getUsersRequest == null)
            {
                throw new ArgumentNullException(nameof(getUsersRequest));
            }

            var query = _mapper.Map <GetUsersQuery>(getUsersRequest);

            var pageOfUsers = await _mediator.Send(query);

            var pageOfUserResponses = _mapper.Map <API.Models.v1.PagedList <UserResponse> >(pageOfUsers);

            return(pageOfUserResponses);
        }
        public async Task <IActionResult> Get(
            [FromQuery] API.Models.v1.Request.GetUsersRequest getUsersRequest)
        {
            if (getUsersRequest == null)
            {
                return(BadRequest());
            }

            var userResponses = await GetUserResponses(getUsersRequest);

            if (userResponses == null || !userResponses.Any())
            {
                return(NoContent());
            }

            return(Ok(userResponses));
        }