@pgds/api-interface 1.6.3 → 1.6.5

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.
package/lib/index.js CHANGED
@@ -125,6 +125,7 @@ var jsonSchemaUtils_1 = require("./utils/jsonSchemaUtils");
125
125
  var logger_1 = require("./utils/logger");
126
126
  var urlUtils_1 = require("./utils/urlUtils");
127
127
  var organizationHierarchyRepo_1 = __importDefault(require("./repositories/organizationHierarchyRepo"));
128
+ var utils_1 = require("./utils/utils");
128
129
  var mustbe = require("mustbe");
129
130
  var Method;
130
131
  (function (Method) {
@@ -425,6 +426,7 @@ function setupApiInterface(options) {
425
426
  if (shouldRegisterMetadataEndpoint) {
426
427
  registerMetadataEndpoint();
427
428
  }
429
+ (0, utils_1.setupHealthChecks)();
428
430
  return [2 /*return*/, server];
429
431
  }
430
432
  });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { RedisClientType } from "redis";
2
- type RedisClient = RedisClientType<any, {}, {}, 3, {}>;
2
+ export type RedisClient = RedisClientType<any, {}, {}, 3, {}>;
3
3
  declare class OrganizationHierarchyRepo {
4
4
  client: RedisClient | null;
5
5
  private cache;
@@ -7,7 +7,11 @@ declare class OrganizationHierarchyRepo {
7
7
  connect(url?: string): Promise<unknown>;
8
8
  close(): Promise<void>;
9
9
  private get instance();
10
- /** @returns Full organization hierarchy */
10
+ isHealthy(): Promise<boolean>;
11
+ /**
12
+ * Should not be used before server startup is complete as it could result in the server shutting down or the process exiting (due to redis errors).
13
+ * @returns Full organization hierarchy.
14
+ */
11
15
  private fetchOrganizationHierarchy;
12
16
  /**
13
17
  * @param organizationId the organization to get the hierarchy for. Returns entire hierarchy if omitted.
@@ -40,7 +40,7 @@ var redis_1 = require("redis");
40
40
  var logger_1 = require("../utils/logger");
41
41
  var config_1 = require("../config");
42
42
  var constants_1 = require("../constants/constants");
43
- var server_1 = require("../server/server");
43
+ var utils_1 = require("../utils/utils");
44
44
  var OrganizationHierarchyRepo = /** @class */ (function () {
45
45
  function OrganizationHierarchyRepo() {
46
46
  this.client = null;
@@ -69,22 +69,15 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
69
69
  clientSideCache: this.cache,
70
70
  });
71
71
  this.client.on("error", function (err) { return __awaiter(_this, void 0, void 0, function () {
72
- var err_1;
73
72
  return __generator(this, function (_a) {
74
73
  switch (_a.label) {
75
- case 0:
76
- _a.trys.push([0, 2, , 3]);
77
- (0, logger_1.getLogger)().error("Redis Client Error: ".concat(err.message), { error: err });
78
- return [4 /*yield*/, (0, server_1.closeServer)()];
74
+ case 0:
75
+ /* Redis is a critical component, so we shut down the server on Redis errors to make health checks fail */
76
+ return [4 /*yield*/, (0, utils_1.performFatalShutdown)(err)];
79
77
  case 1:
78
+ /* Redis is a critical component, so we shut down the server on Redis errors to make health checks fail */
80
79
  _a.sent();
81
- return [3 /*break*/, 3];
82
- case 2:
83
- err_1 = _a.sent();
84
- (0, logger_1.getLogger)().error("Error while closing server after Redis error: ".concat(err_1.message), { error: err_1 });
85
- process.exit(1);
86
- return [3 /*break*/, 3];
87
- case 3: return [2 /*return*/];
80
+ return [2 /*return*/];
88
81
  }
89
82
  });
90
83
  }); });
@@ -138,16 +131,40 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
138
131
  enumerable: false,
139
132
  configurable: true
140
133
  });
141
- /** @returns Full organization hierarchy */
134
+ OrganizationHierarchyRepo.prototype.isHealthy = function () {
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ var result;
137
+ var _a;
138
+ return __generator(this, function (_b) {
139
+ switch (_b.label) {
140
+ case 0: return [4 /*yield*/, ((_a = this.client) === null || _a === void 0 ? void 0 : _a.ping())];
141
+ case 1:
142
+ result = _b.sent();
143
+ return [2 /*return*/, result === "PONG"];
144
+ }
145
+ });
146
+ });
147
+ };
148
+ /**
149
+ * Should not be used before server startup is complete as it could result in the server shutting down or the process exiting (due to redis errors).
150
+ * @returns Full organization hierarchy.
151
+ */
142
152
  OrganizationHierarchyRepo.prototype.fetchOrganizationHierarchy = function () {
143
153
  return __awaiter(this, void 0, void 0, function () {
144
154
  var organizationHierarchy, cursor, _loop_1, this_1;
145
155
  return __generator(this, function (_a) {
146
156
  switch (_a.label) {
147
157
  case 0:
148
- if (!this.client || !this.client.isOpen) {
149
- throw new Error("Redis client not initialized, use ...connect(url) first");
150
- }
158
+ if (!(!this.client || !this.client.isOpen)) return [3 /*break*/, 2];
159
+ return [4 /*yield*/, (0, utils_1.performFatalShutdown)(new Error("Redis client not initialized or not connected"))];
160
+ case 1:
161
+ /*
162
+ * If client is used without being connected (or being closed), there is something wrong:
163
+ * When everything goes well, the client should be connected during server startup and closed during server shutdown.
164
+ * This process is awaited so there should be no way to use the client when it's not connected under normal circumstances.
165
+ */
166
+ throw _a.sent();
167
+ case 2:
151
168
  organizationHierarchy = {};
152
169
  cursor = "0";
153
170
  _loop_1 = function () {
@@ -176,15 +193,15 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
176
193
  });
177
194
  };
178
195
  this_1 = this;
179
- _a.label = 1;
180
- case 1: return [5 /*yield**/, _loop_1()];
181
- case 2:
182
- _a.sent();
183
196
  _a.label = 3;
184
- case 3:
185
- if (cursor !== "0") return [3 /*break*/, 1];
186
- _a.label = 4;
187
- case 4: return [2 /*return*/, organizationHierarchy];
197
+ case 3: return [5 /*yield**/, _loop_1()];
198
+ case 4:
199
+ _a.sent();
200
+ _a.label = 5;
201
+ case 5:
202
+ if (cursor !== "0") return [3 /*break*/, 3];
203
+ _a.label = 6;
204
+ case 6: return [2 /*return*/, organizationHierarchy];
188
205
  }
189
206
  });
190
207
  });
@@ -1 +1 @@
1
- {"version":3,"file":"organizationHierarchyRepo.js","sourceRoot":"","sources":["organizationHierarchyRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organizationHierarchyRepo.js","sourceRoot":"","sources":["organizationHierarchyRepo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Attempts a server shut down and exits process if shut down fails.
3
+ * Only to be used for fatal errors (e.g. Redis errors)
4
+ * @param err The error that caused the fatal shutdown
5
+ * @returns Never returns, always throws the original error after attempting shutdown
6
+ * @throws The original error passed as parameter
7
+ */
8
+ export declare function performFatalShutdown(err: any): Promise<never>;
9
+ /**
10
+ * Currently supports redis healthchecks
11
+ */
12
+ export declare function setupHealthChecks(): void;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.performFatalShutdown = performFatalShutdown;
43
+ exports.setupHealthChecks = setupHealthChecks;
44
+ var restify_errors_1 = require("restify-errors");
45
+ var __1 = require("..");
46
+ var organizationHierarchyRepo_1 = __importDefault(require("../repositories/organizationHierarchyRepo"));
47
+ var server_1 = require("../server/server");
48
+ var logger_1 = require("./logger");
49
+ var util_1 = require("util");
50
+ var constants_1 = require("../constants/constants");
51
+ /**
52
+ * Attempts a server shut down and exits process if shut down fails.
53
+ * Only to be used for fatal errors (e.g. Redis errors)
54
+ * @param err The error that caused the fatal shutdown
55
+ * @returns Never returns, always throws the original error after attempting shutdown
56
+ * @throws The original error passed as parameter
57
+ */
58
+ function performFatalShutdown(err) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ var logger, inspectedError, err_1;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ try {
65
+ logger = (0, logger_1.getLogger)();
66
+ }
67
+ catch (_b) {
68
+ /* If error happens before logger is set up, we will get an error while using getLogger, so fallback to console.error */
69
+ logger = console;
70
+ }
71
+ inspectedError = (0, util_1.inspect)(err);
72
+ _a.label = 1;
73
+ case 1:
74
+ _a.trys.push([1, 3, , 4]);
75
+ logger.error("Redis Client Error: ".concat(err.message), inspectedError);
76
+ return [4 /*yield*/, (0, server_1.closeServer)()];
77
+ case 2:
78
+ _a.sent();
79
+ return [3 /*break*/, 4];
80
+ case 3:
81
+ err_1 = _a.sent();
82
+ logger.error("Error while closing server after Redis error: ".concat(err_1.message), inspectedError);
83
+ process.exit(1);
84
+ return [3 /*break*/, 4];
85
+ case 4:
86
+ /* Will never reach this point, but to satisfy TypeScript's "never" return type */
87
+ throw err;
88
+ }
89
+ });
90
+ });
91
+ }
92
+ /**
93
+ * Currently supports redis healthchecks
94
+ */
95
+ function setupHealthChecks() {
96
+ var _this = this;
97
+ if (!constants_1.GLOBAL_CI) {
98
+ /* Restify incorrectly throws an error if next is not a parameter, even if the function is async (and can't use it without trigger the next function twice) */
99
+ server_1.server.use(function (req, _res, _next) { return __awaiter(_this, void 0, void 0, function () {
100
+ var healthPaths;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ healthPaths = ["/".concat((0, __1.getApiOptions)().apiVersion, "/healthz"), "/".concat((0, __1.getApiOptions)().apiVersion, "/readyz")];
105
+ if (!healthPaths.includes(req.getPath())) return [3 /*break*/, 2];
106
+ return [4 /*yield*/, redisHealthCheck()];
107
+ case 1:
108
+ _a.sent();
109
+ _a.label = 2;
110
+ case 2: return [2 /*return*/];
111
+ }
112
+ });
113
+ }); });
114
+ }
115
+ }
116
+ function redisHealthCheck() {
117
+ return __awaiter(this, void 0, void 0, function () {
118
+ return __generator(this, function (_a) {
119
+ switch (_a.label) {
120
+ case 0: return [4 /*yield*/, organizationHierarchyRepo_1.default.isHealthy()];
121
+ case 1:
122
+ if (!(_a.sent())) {
123
+ throw new restify_errors_1.InternalServerError("Redis health check failed");
124
+ }
125
+ return [2 /*return*/];
126
+ }
127
+ });
128
+ });
129
+ }
130
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,oDAuBC;AAKD,8CAWC;AAvDD,iDAAqD;AACrD,wBAAmC;AACnC,wGAAkF;AAClF,2CAAuD;AACvD,mCAAqC;AACrC,6BAA+B;AAE/B,oDAAmD;AAEnD;;;;;;GAMG;AACH,SAAsB,oBAAoB,CAAC,GAAQ;;;;;;oBAGjD,IAAI,CAAC;wBACH,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;oBACvB,CAAC;oBAAC,WAAM,CAAC;wBACP,wHAAwH;wBACxH,MAAM,GAAG,OAAO,CAAC;oBACnB,CAAC;oBAEK,cAAc,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;;;;oBAGlC,MAAM,CAAC,KAAK,CAAC,8BAAuB,GAAG,CAAC,OAAO,CAAE,EAAE,cAAc,CAAC,CAAC;oBACnE,qBAAM,IAAA,oBAAW,GAAE,EAAA;;oBAAnB,SAAmB,CAAC;;;;oBAEpB,MAAM,CAAC,KAAK,CAAC,wDAAiD,KAAG,CAAC,OAAO,CAAE,EAAE,cAAc,CAAC,CAAC;oBAE7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;gBAGlB,kFAAkF;gBAClF,MAAM,GAAG,CAAC;;;;CACX;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAAjC,iBAWC;IAVC,IAAI,CAAC,qBAAS,EAAE,CAAC;QACf,8JAA8J;QAC9J,eAAM,CAAC,GAAG,CAAC,UAAO,GAAY,EAAE,IAAc,EAAE,KAAW;;;;;wBACnD,WAAW,GAAG,CAAC,WAAI,IAAA,iBAAa,GAAE,CAAC,UAAU,aAAU,EAAE,WAAI,IAAA,iBAAa,GAAE,CAAC,UAAU,YAAS,CAAC,CAAC;6BAEpG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAnC,wBAAmC;wBACrC,qBAAM,gBAAgB,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;;;;;aAE5B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAe,gBAAgB;;;;wBACvB,qBAAM,mCAAyB,CAAC,SAAS,EAAE,EAAA;;oBAAjD,IAAI,CAAC,CAAC,SAA2C,CAAC,EAAE,CAAC;wBACnD,MAAM,IAAI,oCAAmB,CAAC,2BAA2B,CAAC,CAAC;oBAC7D,CAAC;;;;;CACF"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pgds/api-interface",
3
3
  "description": "Api interface for pgds services",
4
4
  "authors": "Florry",
5
- "version": "1.6.3",
5
+ "version": "1.6.5",
6
6
  "main": "index.js",
7
7
  "types": "types/",
8
8
  "scripts": {