node-rigorous
Version:
Rigorous Framework
38 lines (32 loc) • 1.04 kB
JavaScript
;
var _require = require('../../../factory/RigorousError/index'),
RigorousError = _require.RigorousError,
errorTypes = _require.errorTypes;
function handleErrorResponse(err) {
var errorResponse = errorTypes.RESPONSE_ERROR_OPERATION;
if (err.errmsg) {
if (err.errmsg.indexOf('email_1 dup key') > -1) {
errorResponse = errorTypes.RESPONSE_ERROR_OPERATION_ALREADY_EXIST_EMAIL;
} else if (err.errmsg.indexOf('duplicate key error') > -1) {
errorResponse = errorTypes.RESPONSE_ERROR_OPERATION_ALREADY_EXIST;
}
}
var result = new RigorousError(errorResponse, err);
return result;
}
module.exports = {
/**
* Callback when result of Mongoose operation giving one object as a result
* @param {*} err
* @param {*} result
*/
exec: function exec(err, resultUnfiltered) {
return new Promise(function (resolve, reject) {
if (err) {
var errObj = handleErrorResponse(err);
return reject(errObj);
}
return resolve(resultUnfiltered);
});
}
};