in todos.js [63:87]
deleteCompleted: function (callback) {
const transaction = datastore.transaction();
transaction.run(function (err, transaction) {
if (err) {
console.error(err);
}
const query = transaction.createQuery('Todo')
.hasAncestor(datastore.key(['TodoList', LIST_NAME]))
.filter('completed', true);
query.run(function (err, items) {
if (err) {
transaction.rollback(callback);
return;
}
transaction.delete(items.map(function (todo) {
return todo.key;
}));
transaction.commit(callback);
});
});
},