Ejemplo n.º 1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "listlibraryuser")] HttpRequest req, ILogger log)
        {
            try
            {
                var result = _tokenProvider.ValidateToken(req);

                if (result.Status == AccessTokenStatus.Valid)
                {
                    log.LogInformation($"Request received for {result.Principal.Identity.Name}.");
                }
                else
                {
                    return(new UnauthorizedResult());
                }

                string  search      = req.Query["search"];
                string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                dynamic data        = JsonConvert.DeserializeObject(requestBody);

                search = search ?? data?.name;

                if (string.IsNullOrEmpty(search))
                {
                    return(new BadRequestObjectResult("Please pass search on the query string or in the request body"));
                }

                var UsersApiModel = _libraryUserWebApiManager.GetLibraryUsers(search);

                if (UsersApiModel == null)
                {
                    return(new BadRequestObjectResult("Nothing found"));
                }

                return((ActionResult) new OkObjectResult(UsersApiModel));
            }
            catch (Exception ex)
            {
                log.LogError($"Caught exception: {ex.Message}");
                return(new BadRequestObjectResult(ex.Message));
            }
        }
        public IActionResult GetLibraryUsers(string search)
        {
            var usersApiModel = _libraryUserWebApiManager.GetLibraryUsers(search);

            return(Ok(usersApiModel));
        }