UNPKG

@conveyal/commute

Version:
21 lines (19 loc) 552 B
const each = require('async/each') exports.makeCascadeDeleteModelsFn = function (foreignKey, models) { return function (next, done) { // CASCADE DELETE if needed if (this.isModified('trashed') && this.trashed) { const foreignKeyQuery = {} foreignKeyQuery[foreignKey] = this._id each(models, (model) => { model.find(foreignKeyQuery, (err, docs) => { if (err) return done(err) each(docs, (doc, cb) => { doc.trash(cb) }, done) }) }, done) } next() } }