UNPKG

5.75 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4Object.defineProperty(exports, "__esModule", {
5 value: true
6});
7exports["default"] = exports.SequelizeServerModule = void 0;
8var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16var _module = _interopRequireDefault(require("@lskjs/module"));
17var _maskUriPassword = _interopRequireDefault(require("@lskjs/utils/maskUriPassword"));
18var _omit = _interopRequireDefault(require("lodash/omit"));
19var _sequelize = _interopRequireDefault(require("sequelize"));
20function _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); }; }
21function _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; } }
22var SequelizeServerModule = /*#__PURE__*/function (_Module) {
23 (0, _inherits2["default"])(SequelizeServerModule, _Module);
24 var _super = _createSuper(SequelizeServerModule);
25 function SequelizeServerModule() {
26 var _this;
27 (0, _classCallCheck2["default"])(this, SequelizeServerModule);
28 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29 args[_key] = arguments[_key];
30 }
31 _this = _super.call.apply(_super, [this].concat(args));
32 _this.config = {
33 dialect: 'postgres',
34 pool: {
35 max: 5,
36 min: 0,
37 idle: 100000,
38 acquire: 50000,
39 evict: 50000,
40 handleDisconnects: true
41 }
42 };
43 _this.Sequelize = _sequelize["default"];
44 return _this;
45 }
46 (0, _createClass2["default"])(SequelizeServerModule, [{
47 key: "getOptions",
48 value: function getOptions() {
49 var _this2 = this;
50 var options = (0, _omit["default"])(this.config, ['uri']);
51 if (options.logging == null) options.logging = !!this.debug;
52 if (options.logging) {
53 options.logging = function (msg) {
54 var msg2 = msg.split('Executing (default): ').reverse()[0];
55 _this2.log.trace('[sql]', msg2);
56 };
57 }
58 return options;
59 }
60 }, {
61 key: "init",
62 value: function () {
63 var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
64 var options;
65 return _regenerator["default"].wrap(function _callee$(_context) {
66 while (1) switch (_context.prev = _context.next) {
67 case 0:
68 _context.next = 2;
69 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(SequelizeServerModule.prototype), "init", this).call(this);
70 case 2:
71 if (this.config.uri) {
72 _context.next = 6;
73 break;
74 }
75 _context.next = 5;
76 return this.log.warn('!uri', 'ignore module');
77 case 5:
78 return _context.abrupt("return");
79 case 6:
80 options = this.getOptions();
81 this.client = new this.Sequelize(this.config.uri, options);
82 _context.next = 10;
83 return this.client.authenticate();
84 case 10:
85 case "end":
86 return _context.stop();
87 }
88 }, _callee, this);
89 }));
90 function init() {
91 return _init.apply(this, arguments);
92 }
93 return init;
94 }()
95 }, {
96 key: "run",
97 value: function () {
98 var _run = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
99 return _regenerator["default"].wrap(function _callee2$(_context2) {
100 while (1) switch (_context2.prev = _context2.next) {
101 case 0:
102 if (this.client) {
103 _context2.next = 2;
104 break;
105 }
106 return _context2.abrupt("return");
107 case 2:
108 _context2.next = 4;
109 return this.client.sync();
110 case 4:
111 this.log.debug('[ready]', (0, _maskUriPassword["default"])(this.config.uri));
112 case 5:
113 case "end":
114 return _context2.stop();
115 }
116 }, _callee2, this);
117 }));
118 function run() {
119 return _run.apply(this, arguments);
120 }
121 return run;
122 }()
123 }]);
124 return SequelizeServerModule;
125}(_module["default"]);
126exports.SequelizeServerModule = SequelizeServerModule;
127var _default = SequelizeServerModule;
128exports["default"] = _default;
129//# sourceMappingURL=SequelizeServerModule.js.map
\No newline at end of file