Esempio n. 1
0
        public async Task <IActionResult> CreateLevel(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "level")] HttpRequest req, ILogger log)
        {
            log.LogInformation("C# HTTP trigger function(CreateLevel) processed a request.");

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    level       = JsonConvert.DeserializeObject <Level>(requestBody);

            try
            {
                var accessTokenResult = _tokenProvider.ValidateToken(req);
                if (accessTokenResult.Status != AccessTokenStatus.Valid)
                {
                    return(new UnauthorizedResult());
                }

                var levelRepo = new LevelRepository();
                var newId     = levelRepo.CreateLevel(level);

                return(new OkObjectResult($"Level created with id {newId}."));
            }
            catch (Exception exception)
            {
                return(new BadRequestObjectResult(exception.Message));
            }
        }