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== |