@conduitplatform/grpc-sdk 0.13.0 → 0.14.0-rc.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.
- package/dist/classes/ConduitModule.js +5 -6
- package/dist/classes/ConduitModule.js.map +1 -1
- package/dist/classes/ConduitServiceModule.js +4 -4
- package/dist/classes/ConduitServiceModule.js.map +1 -1
- package/dist/classes/GrpcServer.d.ts +2 -1
- package/dist/classes/GrpcServer.js +33 -19
- package/dist/classes/GrpcServer.js.map +1 -1
- package/dist/classes/HealthCheck.d.ts +1 -0
- package/dist/classes/HealthCheck.js +76 -0
- package/dist/classes/HealthCheck.js.map +1 -0
- package/dist/classes/ManagedModule.d.ts +38 -0
- package/dist/classes/ManagedModule.js +87 -14
- package/dist/classes/ManagedModule.js.map +1 -1
- package/dist/classes/ModuleManager.js +19 -28
- package/dist/classes/ModuleManager.js.map +1 -1
- package/dist/classes/Routing/RoutingManager.js +2 -2
- package/dist/classes/Routing/RoutingManager.js.map +1 -1
- package/dist/classes/index.js +5 -1
- package/dist/classes/index.js.map +1 -1
- package/dist/constants/enums/index.js +5 -1
- package/dist/constants/enums/index.js.map +1 -1
- package/dist/constants/index.js +5 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/helpers/GrpcHelper.js +1 -1
- package/dist/helpers/GrpcHelper.js.map +1 -1
- package/dist/helpers/RoutingUtilities.js +5 -5
- package/dist/helpers/RoutingUtilities.js.map +1 -1
- package/dist/helpers/index.js +5 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/wrapGrpcFunctions.js +1 -1
- package/dist/helpers/wrapGrpcFunctions.js.map +1 -1
- package/dist/helpers/wrapRouterFunctions.js +10 -6
- package/dist/helpers/wrapRouterFunctions.js.map +1 -1
- package/dist/index.d.ts +10 -3
- package/dist/index.js +129 -80
- package/dist/index.js.map +1 -1
- package/dist/interceptors/grpcSignedToken.d.ts +1 -1
- package/dist/interceptors/grpcSignedToken.js +1 -1
- package/dist/interceptors/grpcSignedToken.js.map +1 -1
- package/dist/interceptors/index.js +5 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/moduleName.d.ts +1 -1
- package/dist/interceptors/moduleName.js +1 -1
- package/dist/interceptors/moduleName.js.map +1 -1
- package/dist/interfaces/index.js +5 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/modules/admin/index.js +4 -4
- package/dist/modules/admin/index.js.map +1 -1
- package/dist/modules/authentication/index.d.ts +1 -2
- package/dist/modules/authentication/index.js +0 -5
- package/dist/modules/authentication/index.js.map +1 -1
- package/dist/modules/chat/index.d.ts +0 -1
- package/dist/modules/chat/index.js +0 -5
- package/dist/modules/chat/index.js.map +1 -1
- package/dist/modules/config/index.d.ts +2 -0
- package/dist/modules/config/index.js +19 -4
- package/dist/modules/config/index.js.map +1 -1
- package/dist/modules/email/index.d.ts +0 -1
- package/dist/modules/email/index.js +0 -5
- package/dist/modules/email/index.js.map +1 -1
- package/dist/modules/forms/index.d.ts +0 -1
- package/dist/modules/forms/index.js +0 -5
- package/dist/modules/forms/index.js.map +1 -1
- package/dist/modules/index.js +5 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/pushNotifications/index.d.ts +0 -1
- package/dist/modules/pushNotifications/index.js +0 -5
- package/dist/modules/pushNotifications/index.js.map +1 -1
- package/dist/modules/router/index.d.ts +2 -2
- package/dist/modules/router/index.js +2 -2
- package/dist/modules/router/index.js.map +1 -1
- package/dist/modules/sms/index.d.ts +0 -1
- package/dist/modules/sms/index.js +0 -5
- package/dist/modules/sms/index.js.map +1 -1
- package/dist/modules/storage/index.d.ts +1 -2
- package/dist/modules/storage/index.js +0 -5
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/protoUtils/authentication.d.ts +19 -19
- package/dist/protoUtils/authentication.js +5 -9
- package/dist/protoUtils/authentication.js.map +1 -1
- package/dist/protoUtils/chat.d.ts +16 -16
- package/dist/protoUtils/chat.js +5 -9
- package/dist/protoUtils/chat.js.map +1 -1
- package/dist/protoUtils/core.d.ts +64 -161
- package/dist/protoUtils/core.js +29 -561
- package/dist/protoUtils/core.js.map +1 -1
- package/dist/protoUtils/database.d.ts +46 -46
- package/dist/protoUtils/database.js +5 -9
- package/dist/protoUtils/database.js.map +1 -1
- package/dist/protoUtils/email.d.ts +13 -13
- package/dist/protoUtils/email.js +5 -9
- package/dist/protoUtils/email.js.map +1 -1
- package/dist/protoUtils/forms.d.ts +4 -4
- package/dist/protoUtils/forms.js +5 -9
- package/dist/protoUtils/forms.js.map +1 -1
- package/dist/protoUtils/grpc_health_check.d.ts +6 -6
- package/dist/protoUtils/grpc_health_check.js +5 -9
- package/dist/protoUtils/grpc_health_check.js.map +1 -1
- package/dist/protoUtils/push-notifications.d.ts +16 -16
- package/dist/protoUtils/push-notifications.js +5 -9
- package/dist/protoUtils/push-notifications.js.map +1 -1
- package/dist/protoUtils/router.d.ts +171 -0
- package/dist/protoUtils/router.js +694 -0
- package/dist/protoUtils/router.js.map +1 -0
- package/dist/protoUtils/sms.d.ts +16 -16
- package/dist/protoUtils/sms.js +5 -9
- package/dist/protoUtils/sms.js.map +1 -1
- package/dist/protoUtils/storage.d.ts +18 -18
- package/dist/protoUtils/storage.js +5 -9
- package/dist/protoUtils/storage.js.map +1 -1
- package/dist/utilities/EventBus.js +5 -4
- package/dist/utilities/EventBus.js.map +1 -1
- package/dist/utilities/Logger.d.ts +13 -0
- package/dist/utilities/Logger.js +112 -0
- package/dist/utilities/Logger.js.map +1 -0
- package/dist/utilities/RedisManager.d.ts +3 -3
- package/dist/utilities/RedisManager.js.map +1 -1
- package/dist/utilities/StateManager.d.ts +2 -2
- package/dist/utilities/StateManager.js +1 -1
- package/dist/utilities/StateManager.js.map +1 -1
- package/package.json +19 -18
|
@@ -64,13 +64,13 @@ var ConduitModule = /** @class */ (function () {
|
|
|
64
64
|
return this._client;
|
|
65
65
|
};
|
|
66
66
|
ConduitModule.prototype.openConnection = function () {
|
|
67
|
-
this.channel = nice_grpc_1.createChannel(this._serviceUrl, undefined, {
|
|
67
|
+
this.channel = (0, nice_grpc_1.createChannel)(this._serviceUrl, undefined, {
|
|
68
68
|
'grpc.max_receive_message_length': 1024 * 1024 * 100,
|
|
69
69
|
'grpc.max_send_message_length': 1024 * 1024 * 100,
|
|
70
70
|
});
|
|
71
|
-
var clientFactory = nice_grpc_1.createClientFactory().use(this._grpcToken
|
|
72
|
-
? interceptors_1.getGrpcSignedTokenInterceptor(this._grpcToken)
|
|
73
|
-
: interceptors_1.getModuleNameInterceptor(this._clientName));
|
|
71
|
+
var clientFactory = (0, nice_grpc_1.createClientFactory)().use(this._grpcToken
|
|
72
|
+
? (0, interceptors_1.getGrpcSignedTokenInterceptor)(this._grpcToken)
|
|
73
|
+
: (0, interceptors_1.getModuleNameInterceptor)(this._clientName));
|
|
74
74
|
this._client = clientFactory.create(this.type, this.channel);
|
|
75
75
|
this._healthClient = clientFactory.create(grpc_health_check_1.HealthDefinition, this.channel);
|
|
76
76
|
this.active = true;
|
|
@@ -134,7 +134,7 @@ var ConduitModule = /** @class */ (function () {
|
|
|
134
134
|
case 4:
|
|
135
135
|
if (!(call_1_1 = _c.sent(), !call_1_1.done)) return [3 /*break*/, 6];
|
|
136
136
|
data = call_1_1.value;
|
|
137
|
-
self.healthCheckEmitter.emit("grpc-health-change:"
|
|
137
|
+
self.healthCheckEmitter.emit("grpc-health-change:".concat(serviceName), data.status);
|
|
138
138
|
_c.label = 5;
|
|
139
139
|
case 5: return [3 /*break*/, 3];
|
|
140
140
|
case 6: return [3 /*break*/, 13];
|
|
@@ -157,7 +157,6 @@ var ConduitModule = /** @class */ (function () {
|
|
|
157
157
|
case 13: return [3 /*break*/, 15];
|
|
158
158
|
case 14:
|
|
159
159
|
error_1 = _c.sent();
|
|
160
|
-
console.error('Connection to gRPC server closed');
|
|
161
160
|
return [3 /*break*/, 15];
|
|
162
161
|
case 15: return [2 /*return*/];
|
|
163
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConduitModule.js","sourceRoot":"","sources":["../../src/classes/ConduitModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAE1F,uCAAgF;AAChF,qEAAwF;AACxF,iCAAsC;
|
|
1
|
+
{"version":3,"file":"ConduitModule.js","sourceRoot":"","sources":["../../src/classes/ConduitModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ var ConduitServiceModule = /** @class */ (function () {
|
|
|
48
48
|
function ConduitServiceModule(moduleName) {
|
|
49
49
|
this._serviceHealthState = __1.HealthCheckStatus.SERVING; // default for health-agnostic modules
|
|
50
50
|
this.events = new events_1.EventEmitter();
|
|
51
|
-
this._moduleName = lodash_1.camelCase(moduleName);
|
|
51
|
+
this._moduleName = (0, lodash_1.camelCase)(moduleName);
|
|
52
52
|
}
|
|
53
53
|
Object.defineProperty(ConduitServiceModule.prototype, "healthState", {
|
|
54
54
|
get: function () {
|
|
@@ -97,11 +97,11 @@ var ConduitServiceModule = /** @class */ (function () {
|
|
|
97
97
|
if (init === void 0) { init = false; }
|
|
98
98
|
if ((state === __1.HealthCheckStatus.UNKNOWN && !init) ||
|
|
99
99
|
state === __1.HealthCheckStatus.SERVICE_UNKNOWN) {
|
|
100
|
-
throw new Error("Cannot explicitly set gRPC health state to "
|
|
100
|
+
throw new Error("Cannot explicitly set gRPC health state to ".concat(__1.HealthCheckStatus[state]));
|
|
101
101
|
}
|
|
102
102
|
if (this._serviceHealthState !== state) {
|
|
103
103
|
this._serviceHealthState = state;
|
|
104
|
-
this.events.emit("grpc-health-change:"
|
|
104
|
+
this.events.emit("grpc-health-change:".concat(this._serviceName), state);
|
|
105
105
|
}
|
|
106
106
|
};
|
|
107
107
|
ConduitServiceModule.prototype.healthCheck = function (call, callback) {
|
|
@@ -126,7 +126,7 @@ var ConduitServiceModule = /** @class */ (function () {
|
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
128
|
else {
|
|
129
|
-
this.events.on("grpc-health-change:"
|
|
129
|
+
this.events.on("grpc-health-change:".concat(this._serviceName), function (status) {
|
|
130
130
|
call.write({
|
|
131
131
|
status: status,
|
|
132
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAmE;AACnE,8CAAwB;AACxB,iCAAsC;AACtC,iCAAmC;AAUnC;IASE,8BAAsB,UAAkB;QAHhC,wBAAmB,GAAsB,qBAAiB,CAAC,OAAO,CAAC,CAAC,sCAAsC;QAC/F,WAAM,GAAiB,IAAI,qBAAY,EAAE,CAAC;QAG3D,IAAI,CAAC,WAAW,GAAG,kBAAS,
|
|
1
|
+
{"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ export declare class GrpcServer {
|
|
|
4
4
|
private startedOnce;
|
|
5
5
|
private _serviceNames;
|
|
6
6
|
private scheduledRestart;
|
|
7
|
+
private _useForce?;
|
|
7
8
|
private _services;
|
|
8
9
|
constructor(port?: string);
|
|
9
10
|
private _url;
|
|
10
11
|
get url(): string;
|
|
11
|
-
createNewServer(): Promise<number>;
|
|
12
|
+
createNewServer(useForce?: boolean): Promise<number>;
|
|
12
13
|
addService(protoFilePath: string, protoDescription: string, functions: {
|
|
13
14
|
[name: string]: Function;
|
|
14
15
|
}): Promise<GrpcServer>;
|
|
@@ -35,16 +35,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
38
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
42
|
exports.GrpcServer = void 0;
|
|
40
43
|
var helpers_1 = require("../helpers");
|
|
44
|
+
var lodash_1 = require("lodash");
|
|
45
|
+
var index_1 = __importDefault(require("../index"));
|
|
41
46
|
var GrpcServer = /** @class */ (function () {
|
|
42
47
|
function GrpcServer(port) {
|
|
43
48
|
this.started = false;
|
|
44
49
|
this.startedOnce = false;
|
|
45
50
|
this._serviceNames = [];
|
|
46
51
|
this._services = [];
|
|
47
|
-
this._url = "0.0.0.0:"
|
|
52
|
+
this._url = "0.0.0.0:".concat(port !== null && port !== void 0 ? port : '5000');
|
|
48
53
|
}
|
|
49
54
|
Object.defineProperty(GrpcServer.prototype, "url", {
|
|
50
55
|
get: function () {
|
|
@@ -53,12 +58,17 @@ var GrpcServer = /** @class */ (function () {
|
|
|
53
58
|
enumerable: false,
|
|
54
59
|
configurable: true
|
|
55
60
|
});
|
|
56
|
-
GrpcServer.prototype.createNewServer = function () {
|
|
61
|
+
GrpcServer.prototype.createNewServer = function (useForce) {
|
|
62
|
+
if (useForce === void 0) { useForce = false; }
|
|
57
63
|
return __awaiter(this, void 0, void 0, function () {
|
|
58
64
|
var serverResult;
|
|
59
65
|
return __generator(this, function (_a) {
|
|
60
66
|
switch (_a.label) {
|
|
61
|
-
case 0:
|
|
67
|
+
case 0:
|
|
68
|
+
if ((0, lodash_1.isNil)(this._useForce)) {
|
|
69
|
+
this._useForce = useForce;
|
|
70
|
+
}
|
|
71
|
+
return [4 /*yield*/, (0, helpers_1.createServer)(this._url)];
|
|
62
72
|
case 1:
|
|
63
73
|
serverResult = _a.sent();
|
|
64
74
|
this.grpcServer = serverResult.server;
|
|
@@ -74,10 +84,10 @@ var GrpcServer = /** @class */ (function () {
|
|
|
74
84
|
switch (_a.label) {
|
|
75
85
|
case 0:
|
|
76
86
|
if (process.env.GRPC_KEY) {
|
|
77
|
-
functions = helpers_1.wrapGrpcFunctions(functions);
|
|
87
|
+
functions = (0, helpers_1.wrapGrpcFunctions)(functions);
|
|
78
88
|
}
|
|
79
89
|
if (!(this._serviceNames.indexOf(protoDescription) !== -1)) return [3 /*break*/, 1];
|
|
80
|
-
|
|
90
|
+
index_1.default.Logger.log('Service already exists, performing replace');
|
|
81
91
|
this._services[this._serviceNames.indexOf(protoDescription)] = {
|
|
82
92
|
protoFilePath: protoFilePath,
|
|
83
93
|
protoDescription: protoDescription,
|
|
@@ -89,7 +99,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
89
99
|
this._services.push({ protoFilePath: protoFilePath, protoDescription: protoDescription, functions: functions });
|
|
90
100
|
this._serviceNames.push(protoDescription);
|
|
91
101
|
if (!this.started) return [3 /*break*/, 2];
|
|
92
|
-
|
|
102
|
+
index_1.default.Logger.log('Server already started, scheduling refresh..');
|
|
93
103
|
this.scheduleRefresh();
|
|
94
104
|
return [2 /*return*/, this];
|
|
95
105
|
case 2:
|
|
@@ -99,7 +109,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
99
109
|
_a.sent();
|
|
100
110
|
_a.label = 4;
|
|
101
111
|
case 4:
|
|
102
|
-
helpers_1.addServiceToServer(this.grpcServer, protoFilePath, protoDescription, functions);
|
|
112
|
+
(0, helpers_1.addServiceToServer)(this.grpcServer, protoFilePath, protoDescription, functions);
|
|
103
113
|
return [2 /*return*/, this];
|
|
104
114
|
}
|
|
105
115
|
});
|
|
@@ -123,19 +133,23 @@ var GrpcServer = /** @class */ (function () {
|
|
|
123
133
|
return __generator(this, function (_a) {
|
|
124
134
|
switch (_a.label) {
|
|
125
135
|
case 0:
|
|
126
|
-
if (!this.started) return [3 /*break*/,
|
|
136
|
+
if (!this.started) return [3 /*break*/, 3];
|
|
127
137
|
this.started = false;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
138
|
+
if (!this._useForce) return [3 /*break*/, 1];
|
|
139
|
+
this.grpcServer.forceShutdown();
|
|
140
|
+
return [3 /*break*/, 3];
|
|
141
|
+
case 1:
|
|
142
|
+
//gracefully shutdown so that there are no service disruption
|
|
143
|
+
return [4 /*yield*/, new Promise(function (resolve) { return _this.grpcServer.tryShutdown(function () { return resolve(); }); })];
|
|
144
|
+
case 2:
|
|
131
145
|
//gracefully shutdown so that there are no service disruption
|
|
132
146
|
_a.sent();
|
|
133
|
-
_a.label =
|
|
134
|
-
case
|
|
135
|
-
case
|
|
147
|
+
_a.label = 3;
|
|
148
|
+
case 3: return [4 /*yield*/, this.createNewServer()];
|
|
149
|
+
case 4:
|
|
136
150
|
_a.sent();
|
|
137
151
|
this._services.forEach(function (service) {
|
|
138
|
-
helpers_1.addServiceToServer(_this.grpcServer, service.protoFilePath, service.protoDescription, service.functions);
|
|
152
|
+
(0, helpers_1.addServiceToServer)(_this.grpcServer, service.protoFilePath, service.protoDescription, service.functions);
|
|
139
153
|
});
|
|
140
154
|
if (!this.started && this.startedOnce) {
|
|
141
155
|
this.grpcServer.start();
|
|
@@ -156,11 +170,11 @@ var GrpcServer = /** @class */ (function () {
|
|
|
156
170
|
return __generator(this, function (_a) {
|
|
157
171
|
switch (_a.label) {
|
|
158
172
|
case 0:
|
|
159
|
-
|
|
173
|
+
index_1.default.Logger.log('Begin refresh');
|
|
160
174
|
return [4 /*yield*/, self.refresh()];
|
|
161
175
|
case 1:
|
|
162
176
|
_a.sent();
|
|
163
|
-
|
|
177
|
+
index_1.default.Logger.log('Refresh complete');
|
|
164
178
|
return [2 /*return*/];
|
|
165
179
|
}
|
|
166
180
|
});
|
|
@@ -169,11 +183,11 @@ var GrpcServer = /** @class */ (function () {
|
|
|
169
183
|
GrpcServer.prototype.start = function () {
|
|
170
184
|
var _a;
|
|
171
185
|
if (this.started) {
|
|
172
|
-
|
|
186
|
+
index_1.default.Logger.error('gRPC server is already running!');
|
|
173
187
|
return;
|
|
174
188
|
}
|
|
175
189
|
else if (!this.started && this.startedOnce) {
|
|
176
|
-
|
|
190
|
+
index_1.default.Logger.error('gRPC server is down for refresh!');
|
|
177
191
|
}
|
|
178
192
|
this.started = true;
|
|
179
193
|
this.startedOnce = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function checkModuleHealth(clientName: string, serviceUrl: string, service?: string, grpcToken?: string): Promise<any>;
|
|
@@ -0,0 +1,76 @@
|
|
|
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;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "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 (_) 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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.checkModuleHealth = void 0;
|
|
40
|
+
var interceptors_1 = require("../interceptors");
|
|
41
|
+
var nice_grpc_1 = require("nice-grpc");
|
|
42
|
+
var grpc_health_check_1 = require("../protoUtils/grpc_health_check");
|
|
43
|
+
function checkModuleHealth(clientName, serviceUrl, service, grpcToken) {
|
|
44
|
+
if (service === void 0) { service = ''; }
|
|
45
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
var channel, clientFactory, _healthClient, error, status;
|
|
47
|
+
return __generator(this, function (_a) {
|
|
48
|
+
switch (_a.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
channel = (0, nice_grpc_1.createChannel)(serviceUrl, undefined, {
|
|
51
|
+
'grpc.max_receive_message_length': 1024 * 1024 * 100,
|
|
52
|
+
'grpc.max_send_message_length': 1024 * 1024 * 100,
|
|
53
|
+
});
|
|
54
|
+
clientFactory = (0, nice_grpc_1.createClientFactory)().use(grpcToken
|
|
55
|
+
? (0, interceptors_1.getGrpcSignedTokenInterceptor)(grpcToken)
|
|
56
|
+
: (0, interceptors_1.getModuleNameInterceptor)(clientName));
|
|
57
|
+
_healthClient = clientFactory.create(grpc_health_check_1.HealthDefinition, channel);
|
|
58
|
+
return [4 /*yield*/, _healthClient
|
|
59
|
+
.check({ service: service })
|
|
60
|
+
.then(function (res) {
|
|
61
|
+
return res.status;
|
|
62
|
+
})
|
|
63
|
+
.catch(function (err) { return (error = err); })];
|
|
64
|
+
case 1:
|
|
65
|
+
status = _a.sent();
|
|
66
|
+
channel.close();
|
|
67
|
+
if (!error) {
|
|
68
|
+
return [2 /*return*/, status];
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
exports.checkModuleHealth = checkModuleHealth;
|
|
76
|
+
//# sourceMappingURL=HealthCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../src/classes/HealthCheck.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAC1F,uCAA+D;AAC/D,qEAAwF;AAExF,SAAsB,iBAAiB,CACrC,UAAkB,EAClB,UAAkB,EAClB,OAAoB,EACpB,SAAkB;IADlB,wBAAA,EAAA,YAAoB;;;;;;oBAGhB,OAAO,GAAG,IAAA,yBAAa,EAAC,UAAU,EAAE,SAAS,EAAE;wBACjD,iCAAiC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;wBACpD,8BAA8B,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;qBAClD,CAAC,CAAC;oBACG,aAAa,GAAG,IAAA,+BAAmB,GAAE,CAAC,GAAG,CAC7C,SAAS;wBACP,CAAC,CAAC,IAAA,4CAA6B,EAAC,SAAS,CAAC;wBAC1C,CAAC,CAAC,IAAA,uCAAwB,EAAC,UAAU,CAAC,CACzC,CAAC;oBACE,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,oCAAgB,EAAE,OAAO,CAAC,CAAC;oBAEvD,qBAAM,aAAa;6BAC7B,KAAK,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC;6BAClB,IAAI,CAAC,UAAC,GAAwB;4BAC7B,OAAO,GAAG,CAAC,MAAM,CAAC;wBACpB,CAAC,CAAC;6BACD,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,KAAK,GAAG,GAAG,CAAC,EAAb,CAAa,CAAC,EAAA;;oBAL1B,MAAM,GAAG,SAKiB;oBAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,EAAE;wBACV,sBAAO,MAAM,EAAC;qBACf;oBACD,MAAM,KAAK,CAAC;;;;CACb;AA5BD,8CA4BC"}
|
|
@@ -6,12 +6,50 @@ export declare abstract class ManagedModule<T> extends ConduitServiceModule {
|
|
|
6
6
|
service?: ConduitService;
|
|
7
7
|
protected constructor(moduleName: string);
|
|
8
8
|
get name(): string;
|
|
9
|
+
/**
|
|
10
|
+
* This is the first function triggered on module spin up.
|
|
11
|
+
* @param grpcSdk
|
|
12
|
+
*/
|
|
9
13
|
initialize(grpcSdk: ConduitGrpcSdk): void;
|
|
14
|
+
/**
|
|
15
|
+
* This is triggered before spinning up the Grpc Server
|
|
16
|
+
* of the module. On this stage, the redis bus and state have
|
|
17
|
+
* not yet been initialized, and only communications with Conduit core
|
|
18
|
+
* have been established.
|
|
19
|
+
*/
|
|
10
20
|
preServerStart(): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* This is triggered right after Grpc Server start.
|
|
23
|
+
* At this stage the core module will communicate with your service
|
|
24
|
+
* for health checks, and the Bus and State management mechanics
|
|
25
|
+
* are online and available.
|
|
26
|
+
*/
|
|
11
27
|
onServerStart(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Triggers right before registering the module with Conduit Core.
|
|
30
|
+
*/
|
|
12
31
|
preRegister(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Triggers when module has been registered with Conduit Core
|
|
34
|
+
* This is the step where you should initialize your
|
|
35
|
+
* module's general routing (admin or client) and any other operation,
|
|
36
|
+
* that would require other modules being able to reach you
|
|
37
|
+
*/
|
|
13
38
|
onRegister(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* This is triggered when the module receives new configuration.
|
|
41
|
+
* At this step the configuration has not been checked yet,
|
|
42
|
+
* and has only been parsed.
|
|
43
|
+
* @param config
|
|
44
|
+
*/
|
|
14
45
|
preConfig(config: T): Promise<T>;
|
|
46
|
+
/**
|
|
47
|
+
* This is triggered when new configuration has been applied.
|
|
48
|
+
* This happens either when changes are being made on the configuration,
|
|
49
|
+
* or on module start up, where the config is recovered from the database.
|
|
50
|
+
* In either case the configuration is now available through the
|
|
51
|
+
* Config Controller of the sdk.
|
|
52
|
+
*/
|
|
15
53
|
onConfig(): Promise<void>;
|
|
16
54
|
createGrpcServer(servicePort?: string): Promise<void>;
|
|
17
55
|
startGrpcServer(): Promise<void>;
|
|
@@ -14,6 +14,40 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
29
|
+
if (k2 === undefined) k2 = k;
|
|
30
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
31
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
32
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
33
|
+
}
|
|
34
|
+
Object.defineProperty(o, k2, desc);
|
|
35
|
+
}) : (function(o, m, k, k2) {
|
|
36
|
+
if (k2 === undefined) k2 = k;
|
|
37
|
+
o[k2] = m[k];
|
|
38
|
+
}));
|
|
39
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
40
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
41
|
+
}) : function(o, v) {
|
|
42
|
+
o["default"] = v;
|
|
43
|
+
});
|
|
44
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
45
|
+
if (mod && mod.__esModule) return mod;
|
|
46
|
+
var result = {};
|
|
47
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
48
|
+
__setModuleDefault(result, mod);
|
|
49
|
+
return result;
|
|
50
|
+
};
|
|
17
51
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
52
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
53
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -52,7 +86,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
52
86
|
};
|
|
53
87
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
88
|
exports.ManagedModule = void 0;
|
|
55
|
-
var __1 = require("..");
|
|
89
|
+
var __1 = __importStar(require(".."));
|
|
56
90
|
var ConduitServiceModule_1 = require("./ConduitServiceModule");
|
|
57
91
|
var ConfigController_1 = require("./ConfigController");
|
|
58
92
|
var lodash_1 = require("lodash");
|
|
@@ -69,29 +103,60 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
69
103
|
enumerable: false,
|
|
70
104
|
configurable: true
|
|
71
105
|
});
|
|
106
|
+
/**
|
|
107
|
+
* This is the first function triggered on module spin up.
|
|
108
|
+
* @param grpcSdk
|
|
109
|
+
*/
|
|
72
110
|
ManagedModule.prototype.initialize = function (grpcSdk) {
|
|
73
111
|
this.grpcSdk = grpcSdk;
|
|
74
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* This is triggered before spinning up the Grpc Server
|
|
115
|
+
* of the module. On this stage, the redis bus and state have
|
|
116
|
+
* not yet been initialized, and only communications with Conduit core
|
|
117
|
+
* have been established.
|
|
118
|
+
*/
|
|
75
119
|
ManagedModule.prototype.preServerStart = function () {
|
|
76
120
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
77
121
|
return [2 /*return*/];
|
|
78
122
|
}); });
|
|
79
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* This is triggered right after Grpc Server start.
|
|
126
|
+
* At this stage the core module will communicate with your service
|
|
127
|
+
* for health checks, and the Bus and State management mechanics
|
|
128
|
+
* are online and available.
|
|
129
|
+
*/
|
|
80
130
|
ManagedModule.prototype.onServerStart = function () {
|
|
81
131
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
82
132
|
return [2 /*return*/];
|
|
83
133
|
}); });
|
|
84
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* Triggers right before registering the module with Conduit Core.
|
|
137
|
+
*/
|
|
85
138
|
ManagedModule.prototype.preRegister = function () {
|
|
86
139
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
87
140
|
return [2 /*return*/];
|
|
88
141
|
}); });
|
|
89
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Triggers when module has been registered with Conduit Core
|
|
145
|
+
* This is the step where you should initialize your
|
|
146
|
+
* module's general routing (admin or client) and any other operation,
|
|
147
|
+
* that would require other modules being able to reach you
|
|
148
|
+
*/
|
|
90
149
|
ManagedModule.prototype.onRegister = function () {
|
|
91
150
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
92
151
|
return [2 /*return*/];
|
|
93
152
|
}); });
|
|
94
153
|
};
|
|
154
|
+
/**
|
|
155
|
+
* This is triggered when the module receives new configuration.
|
|
156
|
+
* At this step the configuration has not been checked yet,
|
|
157
|
+
* and has only been parsed.
|
|
158
|
+
* @param config
|
|
159
|
+
*/
|
|
95
160
|
ManagedModule.prototype.preConfig = function (config) {
|
|
96
161
|
return __awaiter(this, void 0, void 0, function () {
|
|
97
162
|
return __generator(this, function (_a) {
|
|
@@ -99,6 +164,13 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
99
164
|
});
|
|
100
165
|
});
|
|
101
166
|
};
|
|
167
|
+
/**
|
|
168
|
+
* This is triggered when new configuration has been applied.
|
|
169
|
+
* This happens either when changes are being made on the configuration,
|
|
170
|
+
* or on module start up, where the config is recovered from the database.
|
|
171
|
+
* In either case the configuration is now available through the
|
|
172
|
+
* Config Controller of the sdk.
|
|
173
|
+
*/
|
|
102
174
|
ManagedModule.prototype.onConfig = function () {
|
|
103
175
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
104
176
|
return [2 /*return*/];
|
|
@@ -136,7 +208,7 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
136
208
|
return [4 /*yield*/, this.grpcServer.start()];
|
|
137
209
|
case 3:
|
|
138
210
|
_a.sent();
|
|
139
|
-
|
|
211
|
+
__1.default.Logger.log('gRPC server is online');
|
|
140
212
|
_a.label = 4;
|
|
141
213
|
case 4: return [2 /*return*/];
|
|
142
214
|
}
|
|
@@ -146,11 +218,11 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
146
218
|
ManagedModule.prototype.setConfig = function (call, callback) {
|
|
147
219
|
var _a;
|
|
148
220
|
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
-
var config,
|
|
221
|
+
var config, previousConfig, e_1;
|
|
150
222
|
return __generator(this, function (_b) {
|
|
151
223
|
switch (_b.label) {
|
|
152
224
|
case 0:
|
|
153
|
-
_b.trys.push([0,
|
|
225
|
+
_b.trys.push([0, 3, , 4]);
|
|
154
226
|
if (!this.config) {
|
|
155
227
|
return [2 /*return*/, callback({
|
|
156
228
|
code: grpc_js_1.status.INVALID_ARGUMENT,
|
|
@@ -158,31 +230,32 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
158
230
|
})];
|
|
159
231
|
}
|
|
160
232
|
config = JSON.parse(call.request.newConfig);
|
|
233
|
+
config = __assign(__assign({}, this.config.getProperties()), config);
|
|
161
234
|
return [4 /*yield*/, this.preConfig(config)];
|
|
162
235
|
case 1:
|
|
163
236
|
config = _b.sent();
|
|
237
|
+
previousConfig = this.config.getProperties();
|
|
164
238
|
try {
|
|
165
239
|
this.config.load(config).validate();
|
|
240
|
+
config = this.config.getProperties();
|
|
166
241
|
}
|
|
167
242
|
catch (e) {
|
|
243
|
+
this.config.load(previousConfig);
|
|
168
244
|
return [2 /*return*/, callback({
|
|
169
245
|
code: grpc_js_1.status.INVALID_ARGUMENT,
|
|
170
|
-
message: 'Invalid configuration values',
|
|
246
|
+
message: 'Invalid configuration values: ' + e.message,
|
|
171
247
|
})];
|
|
172
248
|
}
|
|
173
|
-
|
|
174
|
-
case 2:
|
|
175
|
-
moduleConfig = _b.sent();
|
|
176
|
-
ConfigController_1.ConfigController.getInstance().config = moduleConfig;
|
|
249
|
+
ConfigController_1.ConfigController.getInstance().config = config;
|
|
177
250
|
return [4 /*yield*/, this.onConfig()];
|
|
178
|
-
case
|
|
251
|
+
case 2:
|
|
179
252
|
_b.sent();
|
|
180
|
-
(_a = this.grpcSdk.bus) === null || _a === void 0 ? void 0 : _a.publish(lodash_1.kebabCase(this.name) + ':config:update', JSON.stringify(
|
|
181
|
-
return [2 /*return*/, callback(null, { updatedConfig: JSON.stringify(
|
|
182
|
-
case
|
|
253
|
+
(_a = this.grpcSdk.bus) === null || _a === void 0 ? void 0 : _a.publish((0, lodash_1.kebabCase)(this.name) + ':config:update', JSON.stringify(config));
|
|
254
|
+
return [2 /*return*/, callback(null, { updatedConfig: JSON.stringify(config) })];
|
|
255
|
+
case 3:
|
|
183
256
|
e_1 = _b.sent();
|
|
184
257
|
return [2 /*return*/, callback({ code: grpc_js_1.status.INTERNAL, message: e_1.message })];
|
|
185
|
-
case
|
|
258
|
+
case 4: return [2 /*return*/];
|
|
186
259
|
}
|
|
187
260
|
});
|
|
188
261
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedModule.js","sourceRoot":"","sources":["../../src/classes/ManagedModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManagedModule.js","sourceRoot":"","sources":["../../src/classes/ManagedModule.ts"],"names":[],"mappings":"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"}
|