node-rigorous
Version:
Rigorous Framework
31 lines (19 loc) • 864 B
JavaScript
const mongoose = require('mongoose');
const RigorousError = require('../../../facades/RigorousError');
const errorsMessages = require('../../../etc/errorsMessages');
const patch = require('./patch');
module.exports = (modelName, queryDelete) => {
return new Promise((resolve, reject) => {
try {
// Delete = remove because deleteOne or deleteMany do not trigger any middleware (we need pre('remove')
mongoose.model(modelName).findOneAndRemove(queryDelete,
(err, resultOne) => {
if (err) { throw err; }
const resultJson = patch.leanWithId(resultOne);
return resolve(resultJson);
});
} catch (errGlobal) {
reject(new RigorousError(errorsMessages.OperationError, errGlobal));
}
});
};