public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "listlibrarybook")] 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 booksApiModel = _libraryBookWebApiManager.GetBooks(search); if (booksApiModel == null) { return(new BadRequestObjectResult("Nothing found")); } return((ActionResult) new OkObjectResult(booksApiModel)); } catch (Exception ex) { log.LogError($"Caught exception: {ex.Message}"); return(new BadRequestObjectResult(ex.Message)); } }
public IActionResult GetLibraryBooks(string search) { var booksApiModel = _libraryBookWebApiManager.GetBooks(search); return(Ok(booksApiModel)); }