nelreina
6/1/2015 - 4:14 PM

Node js Utils functions

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;