示例#1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "put", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] AddChecklistTaskRequest request)
        {
            if (await UserRepo.HasAccessToChecklist(request.ChecklistId, request.Auth))
            {
                var task = await ChecklistsRepo.AddChecklistTask(request);

                log.LogInformation("Checklist {id} task {id2} added", request.ChecklistId, request.Text);
                return(Ok(task));
            }
            return(new ForbidResult());
        }
        public async Task <ChecklistTask> AddChecklistTask(AddChecklistTaskRequest request)
        {
            var task = new ChecklistTask()
            {
                Order = request.Order,
                Id    = ObjectId.GenerateNewId().ToString(),
                Text  = request.Text
            };
            var update = Update.AddToSet(x => x.ChecklistTasks, task);
            var filter = Filter.Eq(x => x.Id, request.ChecklistId);
            await Collection.UpdateOneAsync(filter, update);

            return(task);
        }