public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = null)] HttpRequest req, ILogger log, [RequestBody] DeleteChecklistRequest request) { await ChecklistsRepo.DeleteChecklist(request); await UserRepo.DeleteChecklistOwnership(request); log.LogInformation("Removed checklist {id} by {user}", request.ChecklistId, request.Auth); return(Ok()); }
public async Task DeleteChecklist(DeleteChecklistRequest request) { var filter = Filter.Eq(x => x.Id, request.ChecklistId); await Collection.DeleteOneAsync(filter); }
public async Task DeleteChecklistOwnership(DeleteChecklistRequest request) { var filter = Filter.Eq(x => x.Id, request.Auth.Id); var update = Update.PullFilter(x => x.Checklists, x => x.ChecklistId == request.ChecklistId && x.IsOwned); await Collection.UpdateOneAsync(filter, update); }