UNPKG

node-rigorous

Version:
34 lines (28 loc) 942 B
"use strict"; 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)); } }); };