Code coverage report for src/models/AjaxCall.es6

Statements: 100% (61 / 61)      Branches: 100% (24 / 24)      Functions: 100% (20 / 20)      Lines: 100% (44 / 44)      Ignored: 1 statement, 4 branches     

All files » src/models/ » AjaxCall.es6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129                    1         10       1       43   1   1   1 1 1   1 1 43   43 43 43     1     5 5 5 5         1 1         2 2         4         3   3 3 3         12   12                     58     49 49         61 61     80         56     51 51         6       1     1 1  
/**
 * AjaxCall class
 *
 * @module AjaxCall
 *
 * @author Luca Pau <luca.pau82@gmail.com>
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
  value: true
});
// istanbul ignore next
 
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { Eif (protoProps) defineProperties(Constructor.prototype, protoProps); Eif (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
 
// istanbul ignore next
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
// istanbul ignore next
 
function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
var _log = require('../log');
 
var _log2 = _interopRequireDefault(_log);
 
var _result = Symbol();
var _message = Symbol();
var _value = Symbol();
 
var AjaxCall = (function () {
  function AjaxCall() {
    _classCallCheck(this, AjaxCall);
 
    this.result = 0;
    this.message = '';
    this.value = {};
  }
 
  _createClass(AjaxCall, [{
    key: 'sendErrorMessage',
    value: function sendErrorMessage(res, resultError, messageError) {
      this.result = resultError;
      this.message = messageError;
      res.status(resultError);
      this.send(res);
    }
  }, {
    key: 'sendUncaughtExceptionMessage',
    value: function sendUncaughtExceptionMessage(res, err) {
      _log2['default'].fatal('UncaughtException occurred on url:\n      ' + res.req.url + ' with method ' + res.req.method + '\n\n      This is the stack trace:\n\n\n      ' + err.stack + '\n\n\n\n      Original error: \n\n      ' + err + '\n\n\n      Original error string formatted: \n\n      ' + JSON.stringify(err, null, 4));
      this.sendErrorMessage(res, 500, 'UncaughtException');
    }
  }, {
    key: 'sendUnhandledExceptionMessage',
    value: function sendUnhandledExceptionMessage(res, err) {
      _log2['default'].error('UnhandledException occurred on url:\n      ' + res.req.url + ' with method ' + res.req.method + '\n\n      This is the stack trace:\n\n\n      ' + err.stack + '\n\n\n\n      Original error: \n\n      ' + err + '\n\n\n      Original error string formatted: \n\n      ' + JSON.stringify(err, null, 4));
      this.sendErrorMessage(res, 501, 'UnhandledException');
    }
  }, {
    key: 'send',
    value: function send(res) {
      return res.json(this.getStruct());
    }
  }, {
    key: 'sendValue',
    value: function sendValue(res, valueSent) {
      var statusCode = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];
 
      this.value = valueSent;
      res.status(statusCode || (this.constructor._isEmptyObj(this.value) ? 204 : 200));
      this.send(res);
    }
  }, {
    key: 'getStruct',
    value: function getStruct() {
      var success = this.result === 0;
 
      return {
        code: this.result,
        success: success,
        result: this.result,
        message: this.message,
        value: this.value
      };
    }
  }, {
    key: 'value',
    get: function get() {
      return this[_value];
    },
    set: function set(value) {
      this[_value] = value;
      return this;
    }
  }, {
    key: 'result',
    set: function set(resultValue) {
      this[_result] = resultValue;
      return this;
    },
    get: function get() {
      return this[_result];
    }
  }, {
    key: 'message',
    get: function get() {
      return this[_message];
    },
    set: function set(messageValue) {
      this[_message] = messageValue;
      return this;
    }
  }], [{
    key: '_isEmptyObj',
    value: function _isEmptyObj(obj) {
      return typeof obj === 'object' && Object.getOwnPropertyNames(obj).length === 0;
    }
  }]);
 
  return AjaxCall;
})();
 
exports['default'] = AjaxCall;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9sdWdoaW5vL1Byb2plY3RzL2FqYXhDYWxsRm9ybWF0dGVyL3NyYy9tb2RlbHMvQWpheENhbGwuZXM2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBUWdCLFFBQVE7Ozs7QUFFeEIsSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDdkIsSUFBSSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDeEIsSUFBSSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7O0lBRWhCLFFBQVE7QUFDRCxXQURQLFFBQVEsR0FDRTswQkFEVixRQUFROztBQUVWLFFBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLFFBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ2xCLFFBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0dBQ2pCOztlQUxHLFFBQVE7O1dBdUNJLDBCQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFO0FBQy9DLFVBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO0FBQzFCLFVBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBQzVCLFNBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDeEIsVUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNoQjs7O1dBRTJCLHNDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDckMsdUJBQUksS0FBSyxnREFFTCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcscUJBQWdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxzREFFekMsR0FBRyxDQUFDLEtBQUssZ0RBRVQsR0FBRywrREFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQy9CLENBQUM7QUFDRixVQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0tBQ3REOzs7V0FFNEIsdUNBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUN0Qyx1QkFBSSxLQUFLLGlEQUVMLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxxQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLHNEQUV6QyxHQUFHLENBQUMsS0FBSyxnREFFVCxHQUFHLCtEQUVILElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDL0IsQ0FBQztBQUNGLFVBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixDQUFDLENBQUM7S0FDdkQ7OztXQUVHLGNBQUMsR0FBRyxFQUFFO0FBQ1IsYUFBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ25DOzs7V0FFUSxtQkFBQyxHQUFHLEVBQUUsU0FBUyxFQUFtQjtVQUFqQixVQUFVLHlEQUFDLElBQUk7O0FBQ3ZDLFVBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0FBQ3ZCLFNBQUcsQ0FBQyxNQUFNLENBQ1IsQUFBQyxVQUFVLEtBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUEsQUFBQyxDQUN2RSxDQUFDO0FBQ0YsVUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNoQjs7O1dBRVEscUJBQUc7QUFDVixVQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQzs7QUFFaEMsYUFBTztBQUNMLFlBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtBQUNqQixlQUFPLEVBQUUsT0FBTztBQUNoQixjQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07QUFDbkIsZUFBTyxFQUFFLElBQUksQ0FBQyxPQUFPO0FBQ3JCLGFBQUssRUFBRSxJQUFJLENBQUMsS0FBSztPQUNsQixDQUFDO0tBQ0g7OztTQXBGUSxlQUFHO0FBQ1YsYUFBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckI7U0FlUSxhQUFDLEtBQUssRUFBRTtBQUNmLFVBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDckIsYUFBTyxJQUFJLENBQUM7S0FDYjs7O1NBaEJTLGFBQUMsV0FBVyxFQUFFO0FBQ3RCLFVBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUM7QUFDNUIsYUFBTyxJQUFJLENBQUM7S0FDYjtTQUVTLGVBQUc7QUFDWCxhQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0Qjs7O1NBRVUsZUFBRztBQUNaLGFBQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3ZCO1NBT1UsYUFBQyxZQUFZLEVBQUU7QUFDeEIsVUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFlBQVksQ0FBQztBQUM5QixhQUFPLElBQUksQ0FBQztLQUNiOzs7V0E5QmlCLHFCQUFDLEdBQUcsRUFBRTtBQUN0QixhQUFPLE9BQU8sR0FBRyxBQUFDLEtBQUssUUFBUSxJQUM3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztLQUNoRDs7O1NBVkcsUUFBUTs7O3FCQW1HQyxRQUFRIiwiZmlsZSI6Ii9Vc2Vycy9sdWdoaW5vL1Byb2plY3RzL2FqYXhDYWxsRm9ybWF0dGVyL3NyYy9tb2RlbHMvQWpheENhbGwuZXM2Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBamF4Q2FsbCBjbGFzc1xuICpcbiAqIEBtb2R1bGUgQWpheENhbGxcbiAqXG4gKiBAYXV0aG9yIEx1Y2EgUGF1IDxsdWNhLnBhdTgyQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZyc7XG5cbmxldCBfcmVzdWx0ID0gU3ltYm9sKCk7XG5sZXQgX21lc3NhZ2UgPSBTeW1ib2woKTtcbmxldCBfdmFsdWUgPSBTeW1ib2woKTtcblxuY2xhc3MgQWpheENhbGwge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnJlc3VsdCA9IDA7XG4gICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy52YWx1ZSA9IHt9O1xuICB9XG5cbiAgc3RhdGljIF9pc0VtcHR5T2JqKG9iaikge1xuICAgIHJldHVybiB0eXBlb2Yob2JqKSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzW192YWx1ZV07XG4gIH1cblxuICBzZXQgcmVzdWx0KHJlc3VsdFZhbHVlKSB7XG4gICAgdGhpc1tfcmVzdWx0XSA9IHJlc3VsdFZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2V0IHJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpc1tfcmVzdWx0XTtcbiAgfVxuXG4gIGdldCBtZXNzYWdlKCkge1xuICAgIHJldHVybiB0aGlzW19tZXNzYWdlXTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWx1ZSkge1xuICAgIHRoaXNbX3ZhbHVlXSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0IG1lc3NhZ2UobWVzc2FnZVZhbHVlKSB7XG4gICAgdGhpc1tfbWVzc2FnZV0gPSBtZXNzYWdlVmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZW5kRXJyb3JNZXNzYWdlKHJlcywgcmVzdWx0RXJyb3IsIG1lc3NhZ2VFcnJvcikge1xuICAgIHRoaXMucmVzdWx0ID0gcmVzdWx0RXJyb3I7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZUVycm9yO1xuICAgIHJlcy5zdGF0dXMocmVzdWx0RXJyb3IpO1xuICAgIHRoaXMuc2VuZChyZXMpO1xuICB9XG5cbiAgc2VuZFVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZShyZXMsIGVycikge1xuICAgIGxvZy5mYXRhbChcbiAgICAgIGBVbmNhdWdodEV4Y2VwdGlvbiBvY2N1cnJlZCBvbiB1cmw6XG4gICAgICAke3Jlcy5yZXEudXJsfSB3aXRoIG1ldGhvZCAke3Jlcy5yZXEubWV0aG9kfVxcblxuICAgICAgVGhpcyBpcyB0aGUgc3RhY2sgdHJhY2U6XFxuXFxuXG4gICAgICAke2Vyci5zdGFja31cXG5cXG5cXG5cbiAgICAgIE9yaWdpbmFsIGVycm9yOiBcXG5cbiAgICAgICR7ZXJyfVxcblxcblxuICAgICAgT3JpZ2luYWwgZXJyb3Igc3RyaW5nIGZvcm1hdHRlZDogXFxuXG4gICAgICAke0pTT04uc3RyaW5naWZ5KGVyciwgbnVsbCwgNCl9YFxuICAgICk7XG4gICAgdGhpcy5zZW5kRXJyb3JNZXNzYWdlKHJlcywgNTAwLCAnVW5jYXVnaHRFeGNlcHRpb24nKTtcbiAgfVxuXG4gIHNlbmRVbmhhbmRsZWRFeGNlcHRpb25NZXNzYWdlKHJlcywgZXJyKSB7XG4gICAgbG9nLmVycm9yKFxuICAgICAgYFVuaGFuZGxlZEV4Y2VwdGlvbiBvY2N1cnJlZCBvbiB1cmw6XG4gICAgICAke3Jlcy5yZXEudXJsfSB3aXRoIG1ldGhvZCAke3Jlcy5yZXEubWV0aG9kfVxcblxuICAgICAgVGhpcyBpcyB0aGUgc3RhY2sgdHJhY2U6XFxuXFxuXG4gICAgICAke2Vyci5zdGFja31cXG5cXG5cXG5cbiAgICAgIE9yaWdpbmFsIGVycm9yOiBcXG5cbiAgICAgICR7ZXJyfVxcblxcblxuICAgICAgT3JpZ2luYWwgZXJyb3Igc3RyaW5nIGZvcm1hdHRlZDogXFxuXG4gICAgICAke0pTT04uc3RyaW5naWZ5KGVyciwgbnVsbCwgNCl9YFxuICAgICk7XG4gICAgdGhpcy5zZW5kRXJyb3JNZXNzYWdlKHJlcywgNTAxLCAnVW5oYW5kbGVkRXhjZXB0aW9uJyk7XG4gIH1cblxuICBzZW5kKHJlcykge1xuICAgIHJldHVybiByZXMuanNvbih0aGlzLmdldFN0cnVjdCgpKTtcbiAgfVxuXG4gIHNlbmRWYWx1ZShyZXMsIHZhbHVlU2VudCwgc3RhdHVzQ29kZT1udWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlU2VudDtcbiAgICByZXMuc3RhdHVzKFxuICAgICAgKHN0YXR1c0NvZGUpIHx8ICh0aGlzLmNvbnN0cnVjdG9yLl9pc0VtcHR5T2JqKHRoaXMudmFsdWUpID8gMjA0IDogMjAwKVxuICAgICk7XG4gICAgdGhpcy5zZW5kKHJlcyk7XG4gIH1cblxuICBnZXRTdHJ1Y3QoKSB7XG4gICAgdmFyIHN1Y2Nlc3MgPSB0aGlzLnJlc3VsdCA9PT0gMDtcblxuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB0aGlzLnJlc3VsdCxcbiAgICAgIHN1Y2Nlc3M6IHN1Y2Nlc3MsXG4gICAgICByZXN1bHQ6IHRoaXMucmVzdWx0LFxuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlLFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWVcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFqYXhDYWxsOyJdfQ==