Node js Utils functions
/**
* Created by nelsonreina on 5/16/15.
*/
require('string-format-js');
var forIn = require('lodash').forIn;
var token = require('./token');
function prettifyMongoError(error) {
var message = '';
if (error.code){
switch (error.code){
case 11000:
message += "Duplicate key error!";
message += error.errmsg.match(/{ : (.*?) }/);
break;
default:
message += 'Error code '+ error.code +' is not caught yet... Shame :(';
}
} else {
if(error.errors){
//message += "";
forIn(error.errors, function(err) {
message += err.message;
})
} else if (error.message){
message = error.message;
}
}
return message;
}
function errResponse(err, res, code) {
var errMsg = prettifyMongoError(err);
res.status(code || 400).send(errMsg);
}
function cors(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.header('Access-Control-Allow-Headers', 'Origin, Authorization, X-Requested-With, Content-Type, Accept');
next();
}
exports.prettifyMongoError = prettifyMongoError;
exports.errResponse = errResponse;
exports.cors = cors;
exports.token = token;