1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = void 0;
|
9 |
|
10 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11 |
|
12 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
13 |
|
14 | var _env = _interopRequireDefault(require("@lskjs/env"));
|
15 |
|
16 | var _bluebird = _interopRequireDefault(require("bluebird"));
|
17 |
|
18 | var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
19 |
|
20 | var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
|
21 |
|
22 | var _pick = _interopRequireDefault(require("lodash/pick"));
|
23 |
|
24 |
|
25 | var _default = function () {
|
26 | var _ref = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee2(healthchecks) {
|
27 | var data, status, promises;
|
28 | return _regenerator["default"].wrap(function _callee2$(_context2) {
|
29 | while (1) {
|
30 | switch (_context2.prev = _context2.next) {
|
31 | case 0:
|
32 | data = {};
|
33 |
|
34 | _context2.next = 3;
|
35 | return healthchecks;
|
36 |
|
37 | case 3:
|
38 | healthchecks = _context2.sent;
|
39 |
|
40 | if (!healthchecks) healthchecks = {
|
41 | healthcheck: healthchecks
|
42 | };
|
43 | status = 200;
|
44 | promises = (0, _mapValues["default"])(healthchecks, function () {
|
45 | var _ref2 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee(fn, key) {
|
46 | var start, res;
|
47 | return _regenerator["default"].wrap(function _callee$(_context) {
|
48 | while (1) {
|
49 | switch (_context.prev = _context.next) {
|
50 | case 0:
|
51 | if ((0, _isFunction["default"])(fn)) {
|
52 | _context.next = 2;
|
53 | break;
|
54 | }
|
55 |
|
56 | return _context.abrupt("return", fn);
|
57 |
|
58 | case 2:
|
59 | start = Date.now();
|
60 | _context.prev = 3;
|
61 | _context.next = 6;
|
62 | return fn();
|
63 |
|
64 | case 6:
|
65 | res = _context.sent;
|
66 | return _context.abrupt("return", {
|
67 | res: res,
|
68 | timeout: Date.now() - start
|
69 | });
|
70 |
|
71 | case 10:
|
72 | _context.prev = 10;
|
73 | _context.t0 = _context["catch"](3);
|
74 | status = 500;
|
75 | console.error("healthchecks[".concat(key, "] err"), _context.t0);
|
76 |
|
77 | return _context.abrupt("return", {
|
78 | res: null,
|
79 | err: _context.t0,
|
80 | timeout: Date.now() - start
|
81 | });
|
82 |
|
83 | case 15:
|
84 | case "end":
|
85 | return _context.stop();
|
86 | }
|
87 | }
|
88 | }, _callee, null, [[3, 10]]);
|
89 | }));
|
90 |
|
91 | return function (_x2, _x3) {
|
92 | return _ref2.apply(this, arguments);
|
93 | };
|
94 | }());
|
95 | _context2.next = 9;
|
96 | return _bluebird["default"].props(promises);
|
97 |
|
98 | case 9:
|
99 | data = _context2.sent;
|
100 | return _context2.abrupt("return", {
|
101 | __pack: true,
|
102 | __status: status,
|
103 | ok: true,
|
104 | date: new Date(),
|
105 | env: _env["default"],
|
106 | debug: (0, _pick["default"])(process.env, ['CI_PIPELINE_ID', 'CI_JOB_ID']),
|
107 | data: data
|
108 | });
|
109 |
|
110 | case 11:
|
111 | case "end":
|
112 | return _context2.stop();
|
113 | }
|
114 | }
|
115 | }, _callee2);
|
116 | }));
|
117 |
|
118 | return function (_x) {
|
119 | return _ref.apply(this, arguments);
|
120 | };
|
121 | }();
|
122 |
|
123 | exports["default"] = _default;
|
124 |
|
\ | No newline at end of file |