nodejs-rigorous
Version:
Rigorous Framework
41 lines (26 loc) • 1.05 kB
JavaScript
const { RigorousError, errorTypes } = require('../../../factory/RigorousError/index');
function handleErrorResponse(err) {
let 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; }
}
const 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(err, resultUnfiltered) {
return new Promise((resolve, reject) => {
if (err) {
const errObj = handleErrorResponse(err);
return reject(errObj);
}
return resolve(resultUnfiltered);
});
},
};