UNPKG

5.91 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.SequelizeServerModule = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
16var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
18var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
20var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
22var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
24var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
26var _module = _interopRequireDefault(require("@lskjs/module"));
27
28var _maskUriPassword = _interopRequireDefault(require("@lskjs/utils/maskUriPassword"));
29
30var _omit = _interopRequireDefault(require("lodash/omit"));
31
32var _sequelize = _interopRequireDefault(require("sequelize"));
33
34function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
36function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
38var SequelizeServerModule = /*#__PURE__*/function (_Module) {
39 (0, _inherits2["default"])(SequelizeServerModule, _Module);
40
41 var _super = _createSuper(SequelizeServerModule);
42
43 function SequelizeServerModule() {
44 var _this;
45
46 (0, _classCallCheck2["default"])(this, SequelizeServerModule);
47
48 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49 args[_key] = arguments[_key];
50 }
51
52 _this = _super.call.apply(_super, [this].concat(args));
53 _this.config = {
54 dialect: 'postgres',
55 pool: {
56 max: 5,
57 min: 0,
58 idle: 100000,
59 acquire: 50000,
60 evict: 50000,
61 handleDisconnects: true
62 }
63 };
64 _this.Sequelize = _sequelize["default"];
65 return _this;
66 }
67
68 (0, _createClass2["default"])(SequelizeServerModule, [{
69 key: "getOptions",
70 value: function getOptions() {
71 var _this2 = this;
72
73 var options = (0, _omit["default"])(this.config, ['uri']);
74 if (options.logging == null) options.logging = !!this.debug;
75
76 if (options.logging) {
77 options.logging = function (msg) {
78 var msg2 = msg.split('Executing (default): ').reverse()[0];
79
80 _this2.log.trace('[sql]', msg2);
81 };
82 }
83
84 return options;
85 }
86 }, {
87 key: "init",
88 value: function () {
89 var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
90 var options;
91 return _regenerator["default"].wrap(function _callee$(_context) {
92 while (1) {
93 switch (_context.prev = _context.next) {
94 case 0:
95 _context.next = 2;
96 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(SequelizeServerModule.prototype), "init", this).call(this);
97
98 case 2:
99 if (this.config.uri) {
100 _context.next = 6;
101 break;
102 }
103
104 _context.next = 5;
105 return this.log.warn('!uri', 'ignore module');
106
107 case 5:
108 return _context.abrupt("return");
109
110 case 6:
111 options = this.getOptions();
112 this.client = new this.Sequelize(this.config.uri, options);
113 _context.next = 10;
114 return this.client.authenticate();
115
116 case 10:
117 case "end":
118 return _context.stop();
119 }
120 }
121 }, _callee, this);
122 }));
123
124 function init() {
125 return _init.apply(this, arguments);
126 }
127
128 return init;
129 }()
130 }, {
131 key: "run",
132 value: function () {
133 var _run = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
134 return _regenerator["default"].wrap(function _callee2$(_context2) {
135 while (1) {
136 switch (_context2.prev = _context2.next) {
137 case 0:
138 if (this.client) {
139 _context2.next = 2;
140 break;
141 }
142
143 return _context2.abrupt("return");
144
145 case 2:
146 _context2.next = 4;
147 return this.client.sync();
148
149 case 4:
150 this.log.debug('[ready]', (0, _maskUriPassword["default"])(this.config.uri));
151
152 case 5:
153 case "end":
154 return _context2.stop();
155 }
156 }
157 }, _callee2, this);
158 }));
159
160 function run() {
161 return _run.apply(this, arguments);
162 }
163
164 return run;
165 }()
166 }]);
167 return SequelizeServerModule;
168}(_module["default"]);
169
170exports.SequelizeServerModule = SequelizeServerModule;
171var _default = SequelizeServerModule;
172exports["default"] = _default;
173//# sourceMappingURL=SequelizeServerModule.js.map
\No newline at end of file