node-rigorous
Version:
Rigorous Framework
34 lines (28 loc) • 942 B
JavaScript
;
var mongoose = require('mongoose');
var _require = require('../../../factory/RigorousError/index'),
RigorousError = _require.RigorousError,
errorTypes = _require.errorTypes;
module.exports = function (modelName, queryDelete) {
return new Promise(function (resolve, reject) {
try {
// Delete = remove because deleteOne or deleteMany do not trigger any middleware (we need pre('remove')
mongoose.model(modelName).findOneAndRemove(queryDelete, function (err, result) {
if (err) {
throw err;
}
var ids = [];
if (Array.isArray(result)) {
result.forEach(function (resultUnit) {
ids.push(resultUnit.id);
});
} else {
ids.push(result.id);
}
return resolve(result);
});
} catch (errGlobal) {
reject(new RigorousError(errorTypes.RESPONSE_ERROR_OPERATION, errGlobal));
}
});
};