@conduitplatform/grpc-sdk 0.13.2 → 0.14.0
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 -10
- 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 +23 -13
- 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 +67 -13
- package/dist/classes/ManagedModule.js.map +1 -1
- package/dist/classes/ModuleManager.js +15 -24
- 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 +3 -3
- package/dist/helpers/wrapRouterFunctions.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.js +121 -87
- 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 +12 -1
- 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 -1
- package/dist/protoUtils/authentication.js.map +1 -1
- package/dist/protoUtils/chat.d.ts +16 -16
- package/dist/protoUtils/chat.js +5 -1
- package/dist/protoUtils/chat.js.map +1 -1
- package/dist/protoUtils/core.d.ts +64 -161
- package/dist/protoUtils/core.js +29 -553
- package/dist/protoUtils/core.js.map +1 -1
- package/dist/protoUtils/database.d.ts +46 -46
- package/dist/protoUtils/database.js +5 -1
- package/dist/protoUtils/database.js.map +1 -1
- package/dist/protoUtils/email.d.ts +13 -13
- package/dist/protoUtils/email.js +5 -1
- package/dist/protoUtils/email.js.map +1 -1
- package/dist/protoUtils/forms.d.ts +4 -4
- package/dist/protoUtils/forms.js +5 -1
- 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 -1
- 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 -1
- 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 -1
- package/dist/protoUtils/sms.js.map +1 -1
- package/dist/protoUtils/storage.d.ts +18 -18
- package/dist/protoUtils/storage.js +5 -1
- package/dist/protoUtils/storage.js.map +1 -1
- package/dist/utilities/EventBus.js +3 -3
- package/dist/utilities/EventBus.js.map +1 -1
- package/dist/utilities/Logger.js +17 -9
- package/dist/utilities/Logger.js.map +1 -1
- 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 -19
|
@@ -42,16 +42,12 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
42
42
|
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
43
43
|
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
44
44
|
};
|
|
45
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
-
};
|
|
48
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
46
|
exports.ConduitModule = void 0;
|
|
50
47
|
var interceptors_1 = require("../interceptors");
|
|
51
48
|
var nice_grpc_1 = require("nice-grpc");
|
|
52
49
|
var grpc_health_check_1 = require("../protoUtils/grpc_health_check");
|
|
53
50
|
var events_1 = require("events");
|
|
54
|
-
var index_1 = __importDefault(require("../index"));
|
|
55
51
|
var ConduitModule = /** @class */ (function () {
|
|
56
52
|
function ConduitModule(clientName, serviceName, serviceUrl, grpcToken) {
|
|
57
53
|
this.active = false;
|
|
@@ -68,13 +64,13 @@ var ConduitModule = /** @class */ (function () {
|
|
|
68
64
|
return this._client;
|
|
69
65
|
};
|
|
70
66
|
ConduitModule.prototype.openConnection = function () {
|
|
71
|
-
this.channel = nice_grpc_1.createChannel(this._serviceUrl, undefined, {
|
|
67
|
+
this.channel = (0, nice_grpc_1.createChannel)(this._serviceUrl, undefined, {
|
|
72
68
|
'grpc.max_receive_message_length': 1024 * 1024 * 100,
|
|
73
69
|
'grpc.max_send_message_length': 1024 * 1024 * 100,
|
|
74
70
|
});
|
|
75
|
-
var clientFactory = nice_grpc_1.createClientFactory().use(this._grpcToken
|
|
76
|
-
? interceptors_1.getGrpcSignedTokenInterceptor(this._grpcToken)
|
|
77
|
-
: 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));
|
|
78
74
|
this._client = clientFactory.create(this.type, this.channel);
|
|
79
75
|
this._healthClient = clientFactory.create(grpc_health_check_1.HealthDefinition, this.channel);
|
|
80
76
|
this.active = true;
|
|
@@ -138,7 +134,7 @@ var ConduitModule = /** @class */ (function () {
|
|
|
138
134
|
case 4:
|
|
139
135
|
if (!(call_1_1 = _c.sent(), !call_1_1.done)) return [3 /*break*/, 6];
|
|
140
136
|
data = call_1_1.value;
|
|
141
|
-
self.healthCheckEmitter.emit("grpc-health-change:"
|
|
137
|
+
self.healthCheckEmitter.emit("grpc-health-change:".concat(serviceName), data.status);
|
|
142
138
|
_c.label = 5;
|
|
143
139
|
case 5: return [3 /*break*/, 3];
|
|
144
140
|
case 6: return [3 /*break*/, 13];
|
|
@@ -161,7 +157,6 @@ var ConduitModule = /** @class */ (function () {
|
|
|
161
157
|
case 13: return [3 /*break*/, 15];
|
|
162
158
|
case 14:
|
|
163
159
|
error_1 = _c.sent();
|
|
164
|
-
index_1.default.Logger.warn('Connection to gRPC server closed');
|
|
165
160
|
return [3 /*break*/, 15];
|
|
166
161
|
case 15: return [2 /*return*/];
|
|
167
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConduitModule.js","sourceRoot":"","sources":["../../src/classes/ConduitModule.ts"],"names":[],"mappings":"
|
|
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>;
|
|
@@ -41,6 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
exports.GrpcServer = void 0;
|
|
43
43
|
var helpers_1 = require("../helpers");
|
|
44
|
+
var lodash_1 = require("lodash");
|
|
44
45
|
var index_1 = __importDefault(require("../index"));
|
|
45
46
|
var GrpcServer = /** @class */ (function () {
|
|
46
47
|
function GrpcServer(port) {
|
|
@@ -48,7 +49,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
48
49
|
this.startedOnce = false;
|
|
49
50
|
this._serviceNames = [];
|
|
50
51
|
this._services = [];
|
|
51
|
-
this._url = "0.0.0.0:"
|
|
52
|
+
this._url = "0.0.0.0:".concat(port !== null && port !== void 0 ? port : '5000');
|
|
52
53
|
}
|
|
53
54
|
Object.defineProperty(GrpcServer.prototype, "url", {
|
|
54
55
|
get: function () {
|
|
@@ -57,12 +58,17 @@ var GrpcServer = /** @class */ (function () {
|
|
|
57
58
|
enumerable: false,
|
|
58
59
|
configurable: true
|
|
59
60
|
});
|
|
60
|
-
GrpcServer.prototype.createNewServer = function () {
|
|
61
|
+
GrpcServer.prototype.createNewServer = function (useForce) {
|
|
62
|
+
if (useForce === void 0) { useForce = false; }
|
|
61
63
|
return __awaiter(this, void 0, void 0, function () {
|
|
62
64
|
var serverResult;
|
|
63
65
|
return __generator(this, function (_a) {
|
|
64
66
|
switch (_a.label) {
|
|
65
|
-
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)];
|
|
66
72
|
case 1:
|
|
67
73
|
serverResult = _a.sent();
|
|
68
74
|
this.grpcServer = serverResult.server;
|
|
@@ -78,7 +84,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
78
84
|
switch (_a.label) {
|
|
79
85
|
case 0:
|
|
80
86
|
if (process.env.GRPC_KEY) {
|
|
81
|
-
functions = helpers_1.wrapGrpcFunctions(functions);
|
|
87
|
+
functions = (0, helpers_1.wrapGrpcFunctions)(functions);
|
|
82
88
|
}
|
|
83
89
|
if (!(this._serviceNames.indexOf(protoDescription) !== -1)) return [3 /*break*/, 1];
|
|
84
90
|
index_1.default.Logger.log('Service already exists, performing replace');
|
|
@@ -103,7 +109,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
103
109
|
_a.sent();
|
|
104
110
|
_a.label = 4;
|
|
105
111
|
case 4:
|
|
106
|
-
helpers_1.addServiceToServer(this.grpcServer, protoFilePath, protoDescription, functions);
|
|
112
|
+
(0, helpers_1.addServiceToServer)(this.grpcServer, protoFilePath, protoDescription, functions);
|
|
107
113
|
return [2 /*return*/, this];
|
|
108
114
|
}
|
|
109
115
|
});
|
|
@@ -127,19 +133,23 @@ var GrpcServer = /** @class */ (function () {
|
|
|
127
133
|
return __generator(this, function (_a) {
|
|
128
134
|
switch (_a.label) {
|
|
129
135
|
case 0:
|
|
130
|
-
if (!this.started) return [3 /*break*/,
|
|
136
|
+
if (!this.started) return [3 /*break*/, 3];
|
|
131
137
|
this.started = false;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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:
|
|
135
145
|
//gracefully shutdown so that there are no service disruption
|
|
136
146
|
_a.sent();
|
|
137
|
-
_a.label =
|
|
138
|
-
case
|
|
139
|
-
case
|
|
147
|
+
_a.label = 3;
|
|
148
|
+
case 3: return [4 /*yield*/, this.createNewServer()];
|
|
149
|
+
case 4:
|
|
140
150
|
_a.sent();
|
|
141
151
|
this._services.forEach(function (service) {
|
|
142
|
-
helpers_1.addServiceToServer(_this.grpcServer, service.protoFilePath, service.protoDescription, service.functions);
|
|
152
|
+
(0, helpers_1.addServiceToServer)(_this.grpcServer, service.protoFilePath, service.protoDescription, service.functions);
|
|
143
153
|
});
|
|
144
154
|
if (!this.started && this.startedOnce) {
|
|
145
155
|
this.grpcServer.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiF;AAEjF,mDAAsC;AAEtC;
|
|
1
|
+
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiF;AAEjF,iCAA+B;AAC/B,mDAAsC;AAEtC;IAaE,oBAAY,IAAa;QAXjB,YAAO,GAAY,KAAK,CAAC;QACzB,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAa,EAAE,CAAC;QAG7B,cAAS,GAIX,EAAE,CAAC;QAGP,IAAI,CAAC,IAAI,GAAG,kBAAW,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAM,CAAE,CAAC;IAC1C,CAAC;IAID,sBAAI,2BAAG;aAAP;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;;;OAAA;IAEK,oCAAe,GAArB,UAAsB,QAAyB;QAAzB,yBAAA,EAAA,gBAAyB;;;;;;wBAC7C,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;4BACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;yBAC3B;wBACoB,qBAAM,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;wBAA5C,YAAY,GAAG,SAA6B;wBAClD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;wBACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACzE,sBAAO,YAAY,CAAC,IAAI,EAAC;;;;KAC1B;IAEK,+BAAU,GAAhB,UACE,aAAqB,EACrB,gBAAwB,EACxB,SAAuC;;;;;wBAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;4BACxB,SAAS,GAAG,IAAA,2BAAiB,EAAC,SAAS,CAAC,CAAC;yBAC1C;6BACG,CAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA,EAAnD,wBAAmD;wBACrD,eAAc,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;wBACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG;4BAC7D,aAAa,eAAA;4BACb,gBAAgB,kBAAA;4BAChB,SAAS,WAAA;yBACV,CAAC;wBACF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,sBAAO,IAAI,EAAC;;wBAEZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,eAAA,EAAE,gBAAgB,kBAAA,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;wBACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;6BACtC,IAAI,CAAC,OAAO,EAAZ,wBAAY;wBACd,eAAc,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;wBAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,sBAAO,IAAI,EAAC;;6BAER,CAAC,IAAI,CAAC,UAAU,EAAhB,wBAAgB;wBAClB,qBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;wBAArB,SAAqB,CAAC;;;wBAExB,IAAA,4BAAkB,EAAC,IAAI,CAAC,UAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBACjF,sBAAO,IAAI,EAAC;;;;KAGjB;IAEK,yBAAI,GAAV,UAAW,IAAY;;;gBACrB,sBAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;wBACvC,IAAM,OAAO,GAAG,UAAU,CAAC;4BACzB,YAAY,CAAC,OAAO,CAAC,CAAC;4BACtB,OAAO,EAAE,CAAC;wBACZ,CAAC,EAAE,IAAI,CAAC,CAAC;oBACX,CAAC,CAAC,EAAC;;;KACJ;IAEK,4BAAO,GAAb;;;;;;6BACM,IAAI,CAAC,OAAO,EAAZ,wBAAY;wBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;6BACjB,IAAI,CAAC,SAAS,EAAd,wBAAc;wBAChB,IAAI,CAAC,UAAW,CAAC,aAAa,EAAE,CAAC;;;oBAEjC,6DAA6D;oBAC7D,qBAAM,IAAI,OAAO,CAAO,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,UAAW,CAAC,WAAW,CAAC,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,EAA7C,CAA6C,CAAC,EAAA;;wBADjF,6DAA6D;wBAC7D,SAAiF,CAAC;;4BAGtF,qBAAM,IAAI,CAAC,eAAe,EAAE,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,OAAO;4BAC5B,IAAA,4BAAkB,EAChB,KAAI,CAAC,UAAW,EAChB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,SAAS,CAClB,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;4BACrC,IAAI,CAAC,UAAW,CAAC,KAAK,EAAE,CAAC;4BACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;yBACrB;;;;;KACF;IAED,oCAAe,GAAf;QAAA,iBAUC;QATC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACrC;QACD,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;;;;wBACjC,eAAc,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAC3C,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;wBACrB,eAAc,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;;;;aAC/C,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,0BAAK,GAAL;;QACE,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,eAAc,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/D,OAAO;SACR;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5C,eAAc,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACjE;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IACH,iBAAC;AAAD,CAAC,AA5HD,IA4HC;AA5HY,gCAAU"}
|
|
@@ -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,9 +14,24 @@ 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
|
+
};
|
|
17
28
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
29
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
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);
|
|
20
35
|
}) : (function(o, m, k, k2) {
|
|
21
36
|
if (k2 === undefined) k2 = k;
|
|
22
37
|
o[k2] = m[k];
|
|
@@ -88,29 +103,60 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
88
103
|
enumerable: false,
|
|
89
104
|
configurable: true
|
|
90
105
|
});
|
|
106
|
+
/**
|
|
107
|
+
* This is the first function triggered on module spin up.
|
|
108
|
+
* @param grpcSdk
|
|
109
|
+
*/
|
|
91
110
|
ManagedModule.prototype.initialize = function (grpcSdk) {
|
|
92
111
|
this.grpcSdk = grpcSdk;
|
|
93
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
|
+
*/
|
|
94
119
|
ManagedModule.prototype.preServerStart = function () {
|
|
95
120
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
96
121
|
return [2 /*return*/];
|
|
97
122
|
}); });
|
|
98
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
|
+
*/
|
|
99
130
|
ManagedModule.prototype.onServerStart = function () {
|
|
100
131
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
101
132
|
return [2 /*return*/];
|
|
102
133
|
}); });
|
|
103
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* Triggers right before registering the module with Conduit Core.
|
|
137
|
+
*/
|
|
104
138
|
ManagedModule.prototype.preRegister = function () {
|
|
105
139
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
106
140
|
return [2 /*return*/];
|
|
107
141
|
}); });
|
|
108
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
|
+
*/
|
|
109
149
|
ManagedModule.prototype.onRegister = function () {
|
|
110
150
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
111
151
|
return [2 /*return*/];
|
|
112
152
|
}); });
|
|
113
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
|
+
*/
|
|
114
160
|
ManagedModule.prototype.preConfig = function (config) {
|
|
115
161
|
return __awaiter(this, void 0, void 0, function () {
|
|
116
162
|
return __generator(this, function (_a) {
|
|
@@ -118,6 +164,13 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
118
164
|
});
|
|
119
165
|
});
|
|
120
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
|
+
*/
|
|
121
174
|
ManagedModule.prototype.onConfig = function () {
|
|
122
175
|
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
123
176
|
return [2 /*return*/];
|
|
@@ -165,11 +218,11 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
165
218
|
ManagedModule.prototype.setConfig = function (call, callback) {
|
|
166
219
|
var _a;
|
|
167
220
|
return __awaiter(this, void 0, void 0, function () {
|
|
168
|
-
var config,
|
|
221
|
+
var config, previousConfig, e_1;
|
|
169
222
|
return __generator(this, function (_b) {
|
|
170
223
|
switch (_b.label) {
|
|
171
224
|
case 0:
|
|
172
|
-
_b.trys.push([0,
|
|
225
|
+
_b.trys.push([0, 3, , 4]);
|
|
173
226
|
if (!this.config) {
|
|
174
227
|
return [2 /*return*/, callback({
|
|
175
228
|
code: grpc_js_1.status.INVALID_ARGUMENT,
|
|
@@ -177,31 +230,32 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
177
230
|
})];
|
|
178
231
|
}
|
|
179
232
|
config = JSON.parse(call.request.newConfig);
|
|
233
|
+
config = __assign(__assign({}, this.config.getProperties()), config);
|
|
180
234
|
return [4 /*yield*/, this.preConfig(config)];
|
|
181
235
|
case 1:
|
|
182
236
|
config = _b.sent();
|
|
237
|
+
previousConfig = this.config.getProperties();
|
|
183
238
|
try {
|
|
184
239
|
this.config.load(config).validate();
|
|
240
|
+
config = this.config.getProperties();
|
|
185
241
|
}
|
|
186
242
|
catch (e) {
|
|
243
|
+
this.config.load(previousConfig);
|
|
187
244
|
return [2 /*return*/, callback({
|
|
188
245
|
code: grpc_js_1.status.INVALID_ARGUMENT,
|
|
189
|
-
message: 'Invalid configuration values',
|
|
246
|
+
message: 'Invalid configuration values: ' + e.message,
|
|
190
247
|
})];
|
|
191
248
|
}
|
|
192
|
-
|
|
193
|
-
case 2:
|
|
194
|
-
moduleConfig = _b.sent();
|
|
195
|
-
ConfigController_1.ConfigController.getInstance().config = moduleConfig;
|
|
249
|
+
ConfigController_1.ConfigController.getInstance().config = config;
|
|
196
250
|
return [4 /*yield*/, this.onConfig()];
|
|
197
|
-
case
|
|
251
|
+
case 2:
|
|
198
252
|
_b.sent();
|
|
199
|
-
(_a = this.grpcSdk.bus) === null || _a === void 0 ? void 0 : _a.publish(lodash_1.kebabCase(this.name) + ':config:update', JSON.stringify(
|
|
200
|
-
return [2 /*return*/, callback(null, { updatedConfig: JSON.stringify(
|
|
201
|
-
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:
|
|
202
256
|
e_1 = _b.sent();
|
|
203
257
|
return [2 /*return*/, callback({ code: grpc_js_1.status.INTERNAL, message: e_1.message })];
|
|
204
|
-
case
|
|
258
|
+
case 4: return [2 /*return*/];
|
|
205
259
|
}
|
|
206
260
|
});
|
|
207
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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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -96,8 +100,8 @@ var ModuleManager = /** @class */ (function () {
|
|
|
96
100
|
case 3:
|
|
97
101
|
_a.sent();
|
|
98
102
|
url = (process.env.REGISTER_NAME === 'true'
|
|
99
|
-
? self.module.name
|
|
100
|
-
: self.serviceAddress
|
|
103
|
+
? "".concat(self.module.name, ":")
|
|
104
|
+
: "".concat(self.serviceAddress, ":")) + self.module.port;
|
|
101
105
|
return [4 /*yield*/, self.grpcSdk.config.registerModule(self.module.name, url, this.module.healthState)];
|
|
102
106
|
case 4:
|
|
103
107
|
_a.sent();
|
|
@@ -111,6 +115,7 @@ var ModuleManager = /** @class */ (function () {
|
|
|
111
115
|
case 6: return [4 /*yield*/, this.postRegisterLifecycle().catch(function (err) {
|
|
112
116
|
__1.default.Logger.error('Failed to activate module');
|
|
113
117
|
__1.default.Logger.error(err);
|
|
118
|
+
process.exit(-1);
|
|
114
119
|
})];
|
|
115
120
|
case 7:
|
|
116
121
|
_a.sent();
|
|
@@ -148,39 +153,25 @@ var ModuleManager = /** @class */ (function () {
|
|
|
148
153
|
};
|
|
149
154
|
ModuleManager.prototype.postRegisterLifecycle = function () {
|
|
150
155
|
return __awaiter(this, void 0, void 0, function () {
|
|
151
|
-
var config
|
|
156
|
+
var config;
|
|
152
157
|
return __generator(this, function (_a) {
|
|
153
158
|
switch (_a.label) {
|
|
154
159
|
case 0: return [4 /*yield*/, this.module.onRegister()];
|
|
155
160
|
case 1:
|
|
156
161
|
_a.sent();
|
|
157
|
-
if (!this.module.config) return [3 /*break*/,
|
|
158
|
-
|
|
159
|
-
_a.label = 2;
|
|
162
|
+
if (!this.module.config) return [3 /*break*/, 4];
|
|
163
|
+
return [4 /*yield*/, this.grpcSdk.config.configure(this.module.config.getProperties(), this.module.name)];
|
|
160
164
|
case 2:
|
|
161
|
-
_a.trys.push([2, 4, , 6]);
|
|
162
|
-
return [4 /*yield*/, this.grpcSdk.config.get(this.module.name)];
|
|
163
|
-
case 3:
|
|
164
|
-
_a.sent();
|
|
165
|
-
return [3 /*break*/, 6];
|
|
166
|
-
case 4:
|
|
167
|
-
e_1 = _a.sent();
|
|
168
|
-
return [4 /*yield*/, this.grpcSdk.config.updateConfig(this.module.config.getProperties(), this.module.name)];
|
|
169
|
-
case 5:
|
|
170
|
-
_a.sent();
|
|
171
|
-
return [3 /*break*/, 6];
|
|
172
|
-
case 6: return [4 /*yield*/, this.grpcSdk.config.addFieldsToConfig(this.module.config.getProperties(), this.module.name)];
|
|
173
|
-
case 7:
|
|
174
165
|
config = _a.sent();
|
|
175
166
|
__1.ConfigController.getInstance();
|
|
176
167
|
if (config)
|
|
177
168
|
__1.ConfigController.getInstance().config = config;
|
|
178
|
-
if (!(!config || config.active)) return [3 /*break*/,
|
|
169
|
+
if (!(!config || config.active || !config.hasOwnProperty('active'))) return [3 /*break*/, 4];
|
|
179
170
|
return [4 /*yield*/, this.module.onConfig()];
|
|
180
|
-
case
|
|
171
|
+
case 3:
|
|
181
172
|
_a.sent();
|
|
182
|
-
_a.label =
|
|
183
|
-
case
|
|
173
|
+
_a.label = 4;
|
|
174
|
+
case 4: return [2 /*return*/];
|
|
184
175
|
}
|
|
185
176
|
});
|
|
186
177
|
});
|