@amanat-qa/utils-backend 5.0.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
5
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
6
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
7
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ function _classPrivateFieldLooseBase(e, t) { if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); return e; }
14
+ var id = 0;
15
+ function _classPrivateFieldLooseKey(e) { return "__private_" + id++ + "_" + e; }
16
+ var axios = require('axios');
17
+ var Logger = require('../log/logger');
18
+ var _baseURL = /*#__PURE__*/_classPrivateFieldLooseKey("baseURL");
19
+ var _logString = /*#__PURE__*/_classPrivateFieldLooseKey("logString");
20
+ var _timeout = /*#__PURE__*/_classPrivateFieldLooseKey("timeout");
21
+ var _headers = /*#__PURE__*/_classPrivateFieldLooseKey("headers");
22
+ var _axiosInstance = /*#__PURE__*/_classPrivateFieldLooseKey("axiosInstance");
23
+ var BaseAPI = /*#__PURE__*/function () {
24
+ function BaseAPI(options) {
25
+ _classCallCheck(this, BaseAPI);
26
+ Object.defineProperty(this, _baseURL, {
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, _logString, {
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, _timeout, {
35
+ writable: true,
36
+ value: void 0
37
+ });
38
+ Object.defineProperty(this, _headers, {
39
+ writable: true,
40
+ value: void 0
41
+ });
42
+ Object.defineProperty(this, _axiosInstance, {
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ _classPrivateFieldLooseBase(this, _baseURL)[_baseURL] = options.baseURL;
47
+ _classPrivateFieldLooseBase(this, _logString)[_logString] = options.logString;
48
+ _classPrivateFieldLooseBase(this, _timeout)[_timeout] = options.timeout;
49
+ _classPrivateFieldLooseBase(this, _headers)[_headers] = options.headers;
50
+ _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance] = this.createInstance();
51
+ }
52
+ return _createClass(BaseAPI, [{
53
+ key: "createInstance",
54
+ value: function createInstance() {
55
+ if (_classPrivateFieldLooseBase(this, _logString)[_logString]) Logger.log("".concat(_classPrivateFieldLooseBase(this, _logString)[_logString], " ").concat(_classPrivateFieldLooseBase(this, _baseURL)[_baseURL]));
56
+ return axios.create({
57
+ baseURL: _classPrivateFieldLooseBase(this, _baseURL)[_baseURL],
58
+ timeout: _classPrivateFieldLooseBase(this, _timeout)[_timeout],
59
+ headers: _classPrivateFieldLooseBase(this, _headers)[_headers]
60
+ });
61
+ }
62
+ }, {
63
+ key: "get",
64
+ value: function () {
65
+ var _get = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(endpoint, params) {
66
+ var response, _t;
67
+ return _regenerator().w(function (_context) {
68
+ while (1) switch (_context.p = _context.n) {
69
+ case 0:
70
+ Logger.log("[req] \u25B6 get ".concat(JSON.stringify(params || {}), " from ").concat(endpoint, ":"));
71
+ _context.p = 1;
72
+ _context.n = 2;
73
+ return _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].get("/".concat(endpoint), {
74
+ params: params
75
+ });
76
+ case 2:
77
+ response = _context.v;
78
+ Logger.log("[res] status code: ".concat(response.status));
79
+ return _context.a(2, response);
80
+ case 3:
81
+ _context.p = 3;
82
+ _t = _context.v;
83
+ Logger.log("[res] status code: ".concat(_t.response.status));
84
+ Logger.log("[res] body: ".concat(JSON.stringify(_t.response.data)));
85
+ return _context.a(2, _t.response);
86
+ }
87
+ }, _callee, this, [[1, 3]]);
88
+ }));
89
+ function get(_x, _x2) {
90
+ return _get.apply(this, arguments);
91
+ }
92
+ return get;
93
+ }()
94
+ }, {
95
+ key: "post",
96
+ value: function () {
97
+ var _post = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(endpoint, params) {
98
+ var response, _t2;
99
+ return _regenerator().w(function (_context2) {
100
+ while (1) switch (_context2.p = _context2.n) {
101
+ case 0:
102
+ Logger.log("[req] \u25B6 post ".concat(JSON.stringify(params || {}), " to ").concat(endpoint, ":"));
103
+ _context2.p = 1;
104
+ _context2.n = 2;
105
+ return _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].post("/".concat(endpoint), params);
106
+ case 2:
107
+ response = _context2.v;
108
+ Logger.log("[res] status code: ".concat(response.status));
109
+ return _context2.a(2, response);
110
+ case 3:
111
+ _context2.p = 3;
112
+ _t2 = _context2.v;
113
+ Logger.log("[res] status code: ".concat(_t2.response.status));
114
+ Logger.log("[res] body: ".concat(JSON.stringify(_t2.response.data)));
115
+ return _context2.a(2, _t2.response);
116
+ }
117
+ }, _callee2, this, [[1, 3]]);
118
+ }));
119
+ function post(_x3, _x4) {
120
+ return _post.apply(this, arguments);
121
+ }
122
+ return post;
123
+ }()
124
+ }, {
125
+ key: "patch",
126
+ value: function () {
127
+ var _patch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(endpoint, params) {
128
+ var response, _t3;
129
+ return _regenerator().w(function (_context3) {
130
+ while (1) switch (_context3.p = _context3.n) {
131
+ case 0:
132
+ Logger.log("[req] \u25B6 patch ".concat(JSON.stringify(params || {}), " to ").concat(endpoint, ":"));
133
+ _context3.p = 1;
134
+ _context3.n = 2;
135
+ return _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].patch("/".concat(endpoint), params);
136
+ case 2:
137
+ response = _context3.v;
138
+ Logger.log("[res] status code: ".concat(response.status));
139
+ return _context3.a(2, response);
140
+ case 3:
141
+ _context3.p = 3;
142
+ _t3 = _context3.v;
143
+ Logger.log("[res] status code: ".concat(_t3.response.status));
144
+ Logger.log("[res] body: ".concat(JSON.stringify(_t3.response.data)));
145
+ return _context3.a(2, _t3.response);
146
+ }
147
+ }, _callee3, this, [[1, 3]]);
148
+ }));
149
+ function patch(_x5, _x6) {
150
+ return _patch.apply(this, arguments);
151
+ }
152
+ return patch;
153
+ }()
154
+ }, {
155
+ key: "put",
156
+ value: function () {
157
+ var _put = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(endpoint, params) {
158
+ var response, _t4;
159
+ return _regenerator().w(function (_context4) {
160
+ while (1) switch (_context4.p = _context4.n) {
161
+ case 0:
162
+ Logger.log("[req] \u25B6 put ".concat(JSON.stringify(params || {}), " to ").concat(endpoint, ":"));
163
+ _context4.p = 1;
164
+ _context4.n = 2;
165
+ return _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].put("/".concat(endpoint), params);
166
+ case 2:
167
+ response = _context4.v;
168
+ Logger.log("[res] status code: ".concat(response.status));
169
+ return _context4.a(2, response);
170
+ case 3:
171
+ _context4.p = 3;
172
+ _t4 = _context4.v;
173
+ Logger.log("[res] status code: ".concat(_t4.response.status));
174
+ Logger.log("[res] body: ".concat(JSON.stringify(_t4.response.data)));
175
+ return _context4.a(2, _t4.response);
176
+ }
177
+ }, _callee4, this, [[1, 3]]);
178
+ }));
179
+ function put(_x7, _x8) {
180
+ return _put.apply(this, arguments);
181
+ }
182
+ return put;
183
+ }()
184
+ }, {
185
+ key: "delete",
186
+ value: function () {
187
+ var _delete2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(endpoint, params) {
188
+ var response, _t5;
189
+ return _regenerator().w(function (_context5) {
190
+ while (1) switch (_context5.p = _context5.n) {
191
+ case 0:
192
+ Logger.log("[req] \u25B6 delete ".concat(JSON.stringify(params || {}), " to ").concat(endpoint, ":"));
193
+ _context5.p = 1;
194
+ _context5.n = 2;
195
+ return _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance]["delete"]("/".concat(endpoint), params);
196
+ case 2:
197
+ response = _context5.v;
198
+ Logger.log("[res] status code: ".concat(response.status));
199
+ return _context5.a(2, response);
200
+ case 3:
201
+ _context5.p = 3;
202
+ _t5 = _context5.v;
203
+ Logger.log("[res] status code: ".concat(_t5.response.status));
204
+ Logger.log("[res] body: ".concat(JSON.stringify(_t5.response.data)));
205
+ return _context5.a(2, _t5.response);
206
+ }
207
+ }, _callee5, this, [[1, 3]]);
208
+ }));
209
+ function _delete(_x9, _x0) {
210
+ return _delete2.apply(this, arguments);
211
+ }
212
+ return _delete;
213
+ }()
214
+ }]);
215
+ }();
216
+ module.exports = BaseAPI; // test commentary... don't mind me
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
5
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
6
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
7
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ var _require = require('sequelize'),
14
+ Sequelize = _require.Sequelize;
15
+ var Logger = require('../log/logger');
16
+ var BaseDB = /*#__PURE__*/function () {
17
+ function BaseDB(database) {
18
+ _classCallCheck(this, BaseDB);
19
+ this.sequelize = new Sequelize(database, process.env.DB_USERNAME, process.env.DB_PASSWORD, {
20
+ host: process.env.DB_HOST,
21
+ port: process.env.DB_PORT,
22
+ dialect: 'mysql',
23
+ logging: function logging(msg) {
24
+ return Logger.log("[sql] \u25B6 ".concat(msg));
25
+ }
26
+ });
27
+ }
28
+ return _createClass(BaseDB, [{
29
+ key: "createConnection",
30
+ value: function () {
31
+ var _createConnection = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
32
+ return _regenerator().w(function (_context) {
33
+ while (1) switch (_context.n) {
34
+ case 0:
35
+ Logger.log("[inf] \u25B6 connect to ".concat(this.sequelize.getDatabaseName(), " database"));
36
+ _context.n = 1;
37
+ return this.sequelize.authenticate();
38
+ case 1:
39
+ return _context.a(2);
40
+ }
41
+ }, _callee, this);
42
+ }));
43
+ function createConnection() {
44
+ return _createConnection.apply(this, arguments);
45
+ }
46
+ return createConnection;
47
+ }()
48
+ }, {
49
+ key: "closeConnection",
50
+ value: function () {
51
+ var _closeConnection = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
52
+ return _regenerator().w(function (_context2) {
53
+ while (1) switch (_context2.n) {
54
+ case 0:
55
+ Logger.log("[inf] \u25B6 close connection to ".concat(this.sequelize.getDatabaseName(), " database"));
56
+ _context2.n = 1;
57
+ return this.sequelize.close();
58
+ case 1:
59
+ return _context2.a(2);
60
+ }
61
+ }, _callee2, this);
62
+ }));
63
+ function closeConnection() {
64
+ return _closeConnection.apply(this, arguments);
65
+ }
66
+ return closeConnection;
67
+ }()
68
+ }]);
69
+ }();
70
+ module.exports = BaseDB;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _require = require('sequelize'),
4
+ DataTypes = _require.DataTypes;
5
+ var BaseModel = {
6
+ attributes: {
7
+ id: {
8
+ type: DataTypes.BIGINT.UNSIGNED,
9
+ primaryKey: true,
10
+ autoIncrement: true
11
+ }
12
+ },
13
+ getOptions: function getOptions() {
14
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
15
+ tableName = _ref.tableName,
16
+ _ref$withSoftDelete = _ref.withSoftDelete,
17
+ withSoftDelete = _ref$withSoftDelete === void 0 ? false : _ref$withSoftDelete;
18
+ var options = {
19
+ timestamps: true,
20
+ underscored: true,
21
+ createdAt: 'created_at',
22
+ updatedAt: 'updated_at',
23
+ tableName: tableName
24
+ };
25
+ if (withSoftDelete) {
26
+ options.paranoid = true;
27
+ options.deletedAt = 'deleted_at';
28
+ }
29
+ return options;
30
+ }
31
+ };
32
+ module.exports = BaseModel;
@@ -1,8 +1,9 @@
1
- let JSONLoader;
1
+ "use strict";
2
+
3
+ var JSONLoader;
2
4
  try {
3
5
  JSONLoader = require('../../../../../test/main/utils/data/JSONLoader');
4
6
  } catch (e) {
5
7
  throw new Error('[err] JSONLoader require error!');
6
8
  }
7
-
8
- module.exports = JSONLoader;
9
+ module.exports = JSONLoader;
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+
3
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ /* eslint no-restricted-syntax: ['off', 'ForInStatement'] */
19
+ var Logger = require('../log/logger');
20
+ var JSONMapper = /*#__PURE__*/function () {
21
+ function JSONMapper() {
22
+ _classCallCheck(this, JSONMapper);
23
+ }
24
+ return _createClass(JSONMapper, null, [{
25
+ key: "getNestedProperty",
26
+ value: function getNestedProperty(flattenedObj, path) {
27
+ var keys = [];
28
+ var values = [];
29
+ for (var key in flattenedObj) {
30
+ if (Object.hasOwn(flattenedObj, key)) {
31
+ if (key.endsWith(".".concat(path)) || key === path) {
32
+ keys.push(key);
33
+ values.push(flattenedObj[key]);
34
+ }
35
+ }
36
+ }
37
+ return {
38
+ keys: keys,
39
+ values: values
40
+ };
41
+ }
42
+ }, {
43
+ key: "deleteNotSimilarProperty",
44
+ value: function deleteNotSimilarProperty(flattenedObj, mappingSchema) {
45
+ var keysToDelete = [];
46
+ var outputObj = _objectSpread({}, flattenedObj);
47
+ for (var key in outputObj) {
48
+ if (Object.hasOwn(outputObj, key)) {
49
+ var shouldDelete = true;
50
+ for (var path in mappingSchema) {
51
+ if (Object.hasOwn(mappingSchema, path)) {
52
+ if (key.endsWith(".".concat(path)) || key === path) {
53
+ shouldDelete = false;
54
+ break;
55
+ }
56
+ }
57
+ }
58
+ if (shouldDelete) keysToDelete.push(key);
59
+ }
60
+ }
61
+ keysToDelete.forEach(function (key) {
62
+ return delete outputObj[key];
63
+ });
64
+ return outputObj;
65
+ }
66
+ }, {
67
+ key: "flattenJSON",
68
+ value: function flattenJSON(obj) {
69
+ var result = {};
70
+ var _recursive = function recursive(currentObj) {
71
+ var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
72
+ for (var objKey in currentObj) {
73
+ if (Object.hasOwn(currentObj, objKey)) {
74
+ var fullKey = prefix ? "".concat(prefix, ".").concat(objKey) : objKey;
75
+ if (_typeof(currentObj[objKey]) === 'object') {
76
+ _recursive(currentObj[objKey], fullKey);
77
+ } else {
78
+ result[fullKey] = currentObj[objKey];
79
+ }
80
+ }
81
+ }
82
+ };
83
+ _recursive(obj);
84
+ return result;
85
+ }
86
+ }, {
87
+ key: "mapValues",
88
+ value: function mapValues(firstData, secondData, mappingSchema) {
89
+ var _this = this;
90
+ var _Object$keys = Object.keys(firstData),
91
+ _Object$keys2 = _slicedToArray(_Object$keys, 1),
92
+ firstName = _Object$keys2[0];
93
+ var firstObj = firstData[firstName];
94
+ var _Object$keys3 = Object.keys(secondData),
95
+ _Object$keys4 = _slicedToArray(_Object$keys3, 1),
96
+ secondName = _Object$keys4[0];
97
+ var secondObj = secondData[secondName];
98
+ var firstFlattenedObj = this.flattenJSON(firstObj);
99
+ var secondFlattenedObj = this.flattenJSON(secondObj);
100
+ var firstFlattenedObjKeys = Object.keys(firstFlattenedObj);
101
+ var secondFlattenedObjKeys = Object.keys(secondFlattenedObj);
102
+ var _loop = function _loop(path) {
103
+ if (Object.hasOwn(mappingSchema, path)) {
104
+ if (firstFlattenedObjKeys.some(function (key) {
105
+ return key.endsWith(path);
106
+ })) {
107
+ if (secondFlattenedObjKeys.some(function (key) {
108
+ return key.endsWith(mappingSchema[path]);
109
+ })) {
110
+ var index = 0;
111
+ for (var key in firstFlattenedObj) {
112
+ if (Object.hasOwn(firstFlattenedObj, key)) {
113
+ if (_this.getNestedProperty(firstFlattenedObj, path).keys.includes(key)) {
114
+ var valuesArr = _this.getNestedProperty(secondFlattenedObj, mappingSchema[path]).values;
115
+ firstFlattenedObj[key] = index >= valuesArr.length ? valuesArr[valuesArr.length - 1] : valuesArr[index];
116
+ index += 1;
117
+ }
118
+ }
119
+ }
120
+ } else {
121
+ throw new Error(Logger.log("[err] mapping key \"".concat(mappingSchema[path], "\" wasn't found in ").concat(secondName)));
122
+ }
123
+ } else {
124
+ throw new Error(Logger.log("[err] mapping key \"".concat(path, "\" wasn't found in ").concat(firstName)));
125
+ }
126
+ }
127
+ };
128
+ for (var path in mappingSchema) {
129
+ _loop(path);
130
+ }
131
+ return this.deleteNotSimilarProperty(firstFlattenedObj, mappingSchema);
132
+ }
133
+ }, {
134
+ key: "rewriteValues",
135
+ value: function rewriteValues(mappedObj, firstDict, secondDict) {
136
+ var _this2 = this;
137
+ var firstDictKeys = Object.keys(firstDict);
138
+ var secondDictKeys = Object.keys(secondDict);
139
+ var outputObj = _objectSpread({}, mappedObj);
140
+ var _loop2 = function _loop2(key) {
141
+ if (Object.hasOwn(outputObj, key)) {
142
+ if (firstDictKeys.some(function (path) {
143
+ return _this2.getNestedProperty(outputObj, path).keys.includes(key);
144
+ }) && secondDictKeys.some(function (path) {
145
+ return _this2.getNestedProperty(outputObj, path).keys.includes(key);
146
+ })) {
147
+ secondDictKeys.forEach(function (dictKey) {
148
+ if (_this2.getNestedProperty(outputObj, dictKey).keys.includes(key)) {
149
+ for (var dictSubKey in secondDict[dictKey]) {
150
+ if (Object.hasOwn(secondDict[dictKey], dictSubKey)) {
151
+ if (secondDict[dictKey][dictSubKey] === outputObj[key] || dictSubKey === 'constant') {
152
+ outputObj[key] = firstDict[dictKey][dictSubKey];
153
+ }
154
+ }
155
+ }
156
+ }
157
+ });
158
+ }
159
+ }
160
+ };
161
+ for (var key in outputObj) {
162
+ _loop2(key);
163
+ }
164
+ return outputObj;
165
+ }
166
+ }, {
167
+ key: "unflattenJSON",
168
+ value: function unflattenJSON(flattenedObj) {
169
+ var result = {};
170
+ for (var key in flattenedObj) {
171
+ if (Object.hasOwn(flattenedObj, key)) {
172
+ var keys = key.split('.');
173
+ var currentLevel = result;
174
+ for (var i = 0; i < keys.length - 1; i += 1) {
175
+ var currentKey = keys[i];
176
+ var nextKeyIsArrayIndex = /^\d+$/.test(keys[i + 1]);
177
+ if (!currentLevel[currentKey] || _typeof(currentLevel[currentKey]) !== 'object') {
178
+ currentLevel[currentKey] = nextKeyIsArrayIndex ? [] : {};
179
+ }
180
+ currentLevel = currentLevel[currentKey];
181
+ }
182
+ currentLevel[keys[keys.length - 1]] = flattenedObj[key];
183
+ }
184
+ }
185
+ return result;
186
+ }
187
+ }, {
188
+ key: "safeMergeObjects",
189
+ value: function safeMergeObjects() {
190
+ var result = {};
191
+ var locations = {};
192
+ for (var _len = arguments.length, mappedObjects = new Array(_len), _key = 0; _key < _len; _key++) {
193
+ mappedObjects[_key] = arguments[_key];
194
+ }
195
+ mappedObjects.forEach(function (mappedObj) {
196
+ var _Object$keys5 = Object.keys(mappedObj),
197
+ _Object$keys6 = _slicedToArray(_Object$keys5, 1),
198
+ currentLocation = _Object$keys6[0];
199
+ var data = mappedObj[currentLocation];
200
+ locations[currentLocation] = {};
201
+ for (var _i = 0, _Object$entries = Object.entries(data); _i < _Object$entries.length; _i++) {
202
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
203
+ key = _Object$entries$_i[0],
204
+ value = _Object$entries$_i[1];
205
+ if (key in result) {
206
+ if (result[key] !== value) {
207
+ for (var location in locations) {
208
+ if (Object.hasOwn(locations, location)) {
209
+ if (key in locations[location]) {
210
+ if (location[key] !== value) {
211
+ throw new Error("[err] conflicting values for duplicated keys \"".concat(key, "\" found in the ").concat(currentLocation, " and in the ").concat(location, " during mapped objects merge"));
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ }
218
+ result[key] = value;
219
+ locations[currentLocation][key] = value;
220
+ }
221
+ });
222
+ return result;
223
+ }
224
+ }, {
225
+ key: "getObjectWithSpecifiedKeyFromArray",
226
+ value: function getObjectWithSpecifiedKeyFromArray(array, keyName) {
227
+ var result = null;
228
+ for (var i = 0; i < array.length; i += 1) {
229
+ if (this.hasKey(array[i], keyName)) result = array[i];
230
+ }
231
+ return result;
232
+ }
233
+ }, {
234
+ key: "hasKey",
235
+ value: function hasKey(obj, keyToFind) {
236
+ if (_typeof(obj) !== 'object' || obj === null) return false;
237
+ for (var key in obj) {
238
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
239
+ // Safeguard added
240
+ if (key === keyToFind) {
241
+ return true;
242
+ }
243
+ if (_typeof(obj[key]) === 'object' && this.hasKey(obj[key], keyToFind)) {
244
+ return true;
245
+ }
246
+ }
247
+ }
248
+ return false;
249
+ }
250
+ }, {
251
+ key: "appendPrefixToKeys",
252
+ value: function appendPrefixToKeys(obj, prefix) {
253
+ var newObj = {};
254
+ Object.keys(obj).forEach(function (key) {
255
+ newObj[prefix + key] = obj[key];
256
+ });
257
+ return newObj;
258
+ }
259
+ }]);
260
+ }();
261
+ module.exports = JSONMapper;