node-rigorous
Version:
Rigorous Framework
44 lines (29 loc) • 1.03 kB
JavaScript
const { RigorousError, errorMessage } = require('../../../factory/errors/index');
function handleErrorResponse(err) {
let errorResponse = errorMessage.OperationError;
if (err.errmsg) {
if (err.errmsg.indexOf('email_1 dup key') > -1) {
errorResponse = errorMessage.OperationError.EmailAlreadyExist;
} else if (err.errmsg.indexOf('duplicate key error') > -1) {
errorResponse = errorMessage.OperationError.AlreadyExist;
}
}
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);
});
},
};