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); }