@conduitplatform/grpc-sdk 0.15.0-rc.0 → 0.15.0-rc.2
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.d.ts +5 -4
- package/dist/classes/ConduitModule.js +21 -7
- package/dist/classes/ConduitModule.js.map +1 -1
- package/dist/classes/ConduitServiceModule.d.ts +1 -0
- package/dist/classes/ConduitServiceModule.js +2 -1
- package/dist/classes/ConduitServiceModule.js.map +1 -1
- package/dist/classes/GrpcServer.d.ts +2 -0
- package/dist/classes/GrpcServer.js +11 -1
- package/dist/classes/GrpcServer.js.map +1 -1
- package/dist/classes/ManagedModule.d.ts +6 -3
- package/dist/classes/ManagedModule.js +15 -4
- package/dist/classes/ManagedModule.js.map +1 -1
- package/dist/classes/ModuleManager.js +6 -6
- package/dist/classes/ModuleManager.js.map +1 -1
- package/dist/classes/index.d.ts +0 -1
- package/dist/classes/index.js +0 -1
- package/dist/classes/index.js.map +1 -1
- package/dist/helpers/wrapGrpcFunctions.d.ts +1 -1
- package/dist/helpers/wrapGrpcFunctions.js +21 -19
- package/dist/helpers/wrapGrpcFunctions.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +17 -9
- package/dist/index.js.map +1 -1
- package/dist/metrics/clientMiddleware.js +1 -1
- package/dist/metrics/clientMiddleware.js.map +1 -1
- package/dist/modules/config/index.js +1 -6
- package/dist/modules/config/index.js.map +1 -1
- package/dist/routing/ConduitRouteReturn.d.ts +2 -2
- package/dist/routing/RouteBuilder.d.ts +2 -3
- package/dist/routing/RouteBuilder.js.map +1 -1
- package/dist/routing/RoutingManager.d.ts +1 -4
- package/dist/routing/RoutingManager.js +6 -6
- package/dist/routing/RoutingManager.js.map +1 -1
- package/dist/routing/RoutingUtilities.d.ts +1 -3
- package/dist/routing/RoutingUtilities.js +1 -2
- package/dist/routing/RoutingUtilities.js.map +1 -1
- package/dist/routing/index.d.ts +0 -1
- package/dist/routing/index.js +0 -1
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/interfaces/ConduitMiddleware.d.ts +0 -4
- package/dist/routing/interfaces/Socket.d.ts +0 -5
- package/dist/routing/interfaces/index.d.ts +0 -1
- package/dist/routing/interfaces/index.js +0 -1
- package/dist/routing/interfaces/index.js.map +1 -1
- package/dist/routing/wrapRouterFunctions.d.ts +1 -1
- package/dist/routing/wrapRouterFunctions.js +2 -2
- package/dist/routing/wrapRouterFunctions.js.map +1 -1
- package/package.json +2 -1
- package/dist/classes/ConduitParser.d.ts +0 -24
- package/dist/classes/ConduitParser.js +0 -87
- package/dist/classes/ConduitParser.js.map +0 -1
- package/dist/routing/RoutingJsonConstructor.d.ts +0 -3
- package/dist/routing/RoutingJsonConstructor.js +0 -29
- package/dist/routing/RoutingJsonConstructor.js.map +0 -1
- package/dist/routing/interfaces/ConduitSocket.d.ts +0 -5
- package/dist/routing/interfaces/ConduitSocket.js +0 -3
- package/dist/routing/interfaces/ConduitSocket.js.map +0 -1
|
@@ -4,17 +4,18 @@ import { Channel, Client } from 'nice-grpc';
|
|
|
4
4
|
import { HealthDefinition } from '../protoUtils/grpc_health_check';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
export declare class ConduitModule<T extends CompatServiceDefinition> {
|
|
7
|
+
readonly _clientName: string;
|
|
8
|
+
private readonly _serviceName;
|
|
9
|
+
private readonly _serviceUrl;
|
|
10
|
+
private readonly _grpcToken?;
|
|
7
11
|
active: boolean;
|
|
8
12
|
private _client?;
|
|
9
13
|
private _healthClient?;
|
|
10
14
|
protected channel?: Channel;
|
|
11
15
|
protected protoPath?: string;
|
|
12
16
|
protected type?: T;
|
|
13
|
-
protected readonly _clientName: string;
|
|
14
|
-
protected readonly _serviceUrl: string;
|
|
15
17
|
protected readonly healthCheckEmitter: EventEmitter;
|
|
16
|
-
|
|
17
|
-
constructor(clientName: string, serviceName: string, serviceUrl: string, grpcToken?: string);
|
|
18
|
+
constructor(_clientName: string, _serviceName: string, _serviceUrl: string, _grpcToken?: string | undefined);
|
|
18
19
|
initializeClient(type: T): Client<T>;
|
|
19
20
|
openConnection(): void;
|
|
20
21
|
get client(): Client<T> | undefined;
|
|
@@ -46,15 +46,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
46
46
|
exports.ConduitModule = void 0;
|
|
47
47
|
var interceptors_1 = require("../interceptors");
|
|
48
48
|
var nice_grpc_1 = require("nice-grpc");
|
|
49
|
+
var nice_grpc_client_middleware_retry_1 = require("nice-grpc-client-middleware-retry");
|
|
49
50
|
var grpc_health_check_1 = require("../protoUtils/grpc_health_check");
|
|
50
51
|
var events_1 = require("events");
|
|
51
52
|
var ConduitModule = /** @class */ (function () {
|
|
52
|
-
function ConduitModule(
|
|
53
|
+
function ConduitModule(_clientName, _serviceName, _serviceUrl, _grpcToken) {
|
|
54
|
+
this._clientName = _clientName;
|
|
55
|
+
this._serviceName = _serviceName;
|
|
56
|
+
this._serviceUrl = _serviceUrl;
|
|
57
|
+
this._grpcToken = _grpcToken;
|
|
53
58
|
this.active = false;
|
|
54
59
|
this.healthCheckEmitter = new events_1.EventEmitter();
|
|
55
|
-
this._clientName = clientName;
|
|
56
|
-
this._serviceUrl = serviceUrl;
|
|
57
|
-
this._grpcToken = grpcToken;
|
|
58
60
|
}
|
|
59
61
|
ConduitModule.prototype.initializeClient = function (type) {
|
|
60
62
|
if (this._client)
|
|
@@ -64,14 +66,25 @@ var ConduitModule = /** @class */ (function () {
|
|
|
64
66
|
return this._client;
|
|
65
67
|
};
|
|
66
68
|
ConduitModule.prototype.openConnection = function () {
|
|
69
|
+
// ConduitGrpcSdk.Logger.log(`Opening connection for ${this._serviceName}`);
|
|
67
70
|
this.channel = (0, nice_grpc_1.createChannel)(this._serviceUrl, undefined, {
|
|
68
71
|
'grpc.max_receive_message_length': 1024 * 1024 * 100,
|
|
69
72
|
'grpc.max_send_message_length': 1024 * 1024 * 100,
|
|
70
73
|
});
|
|
71
|
-
var clientFactory = (0, nice_grpc_1.createClientFactory)()
|
|
74
|
+
var clientFactory = (0, nice_grpc_1.createClientFactory)()
|
|
75
|
+
.use(this._grpcToken
|
|
72
76
|
? (0, interceptors_1.getGrpcSignedTokenInterceptor)(this._grpcToken)
|
|
73
|
-
: (0, interceptors_1.getModuleNameInterceptor)(this._clientName))
|
|
74
|
-
|
|
77
|
+
: (0, interceptors_1.getModuleNameInterceptor)(this._clientName))
|
|
78
|
+
.use(nice_grpc_client_middleware_retry_1.retryMiddleware);
|
|
79
|
+
this._client = clientFactory.create(this.type, this.channel, {
|
|
80
|
+
'*': {
|
|
81
|
+
// https://grpc.github.io/grpc/core/md_doc_statuscodes.html
|
|
82
|
+
retryableStatuses: [1, 10, 14],
|
|
83
|
+
retryBaseDelayMs: 250,
|
|
84
|
+
retryMaxAttempts: 5,
|
|
85
|
+
retry: true,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
75
88
|
this._healthClient = clientFactory.create(grpc_health_check_1.HealthDefinition, this.channel);
|
|
76
89
|
this.active = true;
|
|
77
90
|
};
|
|
@@ -99,6 +112,7 @@ var ConduitModule = /** @class */ (function () {
|
|
|
99
112
|
ConduitModule.prototype.closeConnection = function () {
|
|
100
113
|
if (!this.channel)
|
|
101
114
|
return;
|
|
115
|
+
// ConduitGrpcSdk.Logger.warn(`Closing connection for ${this._serviceName}`);
|
|
102
116
|
this.channel.close();
|
|
103
117
|
this.channel = undefined;
|
|
104
118
|
this.active = false;
|
|
@@ -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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"}
|
|
@@ -8,6 +8,7 @@ import { ServerWritableStream } from '@grpc/grpc-js';
|
|
|
8
8
|
export declare abstract class ConduitServiceModule {
|
|
9
9
|
protected readonly _moduleName: string;
|
|
10
10
|
protected _serviceName?: string;
|
|
11
|
+
protected _address: string;
|
|
11
12
|
protected _port: string;
|
|
12
13
|
protected grpcServer: GrpcServer;
|
|
13
14
|
private _grpcSdk;
|
|
@@ -117,7 +117,7 @@ var ConduitServiceModule = /** @class */ (function () {
|
|
|
117
117
|
});
|
|
118
118
|
};
|
|
119
119
|
ConduitServiceModule.prototype.updateHealth = function (state, init) {
|
|
120
|
-
var _a;
|
|
120
|
+
var _a, _b;
|
|
121
121
|
if (init === void 0) { init = false; }
|
|
122
122
|
if ((state === __1.HealthCheckStatus.UNKNOWN && !init) ||
|
|
123
123
|
state === __1.HealthCheckStatus.SERVICE_UNKNOWN) {
|
|
@@ -129,6 +129,7 @@ var ConduitServiceModule = /** @class */ (function () {
|
|
|
129
129
|
if (this._serviceHealthState !== state) {
|
|
130
130
|
this._serviceHealthState = state;
|
|
131
131
|
this.events.emit("grpc-health-change:".concat(this._serviceName), state);
|
|
132
|
+
(_b = this._grpcSdk) === null || _b === void 0 ? void 0 : _b.config.moduleHealthProbe(this._moduleName, this._address);
|
|
132
133
|
}
|
|
133
134
|
};
|
|
134
135
|
ConduitServiceModule.prototype.healthCheck = function (call, callback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAmE;AACnE,8CAAwB;AACxB,iCAAsC;AACtC,iCAAmC;AAUnC;
|
|
1
|
+
{"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAmE;AACnE,8CAAwB;AACxB,iCAAsC;AACtC,iCAAmC;AAUnC;IAUE,8BAAsB,UAAkB;QAHhC,wBAAmB,GAAsB,qBAAiB,CAAC,OAAO,CAAC,CAAC,sCAAsC;QAC/F,WAAM,GAAiB,IAAI,qBAAY,EAAE,CAAC;QAG3D,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAI,6CAAW;aAAf;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAW,yCAAO;aAKlB;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aARD,UAAmB,OAAuB;YACxC,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IAOD,sBAAI,sCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAEe,oDAAqB,GAArC;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAC9B,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC,EAC5D,uBAAuB,EACvB;4BACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;4BAClC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;yBACnC,CACF,EAAA;;wBAPD,SAOC,CAAC;;;;;KACH;IAED,2CAAY,GAAZ,UAAa,KAAwB,EAAE,IAAY;;QAAZ,qBAAA,EAAA,YAAY;QACjD,IACE,CAAC,KAAK,KAAK,qBAAiB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;YAC9C,KAAK,KAAK,qBAAiB,CAAC,eAAe,EAC3C;YACA,MAAM,IAAI,KAAK,CACb,qDAA8C,qBAAiB,CAAC,KAAK,CAAC,CAAE,CACzE,CAAC;SACH;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,WAAc,CAAC,OAAO,0CAAE,GAAG,CACzB,qBAAqB,EACrB,KAAK,KAAK,qBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;SACH;QACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAI,CAAC,YAAY,CAAE,EAAE,KAAK,CAAC,CAAC;YACnE,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,0CAAW,GAAX,UACE,IAAqC,EACrC,QAA2C;QAE3C,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,QAAQ,CAAC,IAAI,EAAE;gBACb,MAAM,EACJ,qBAAiB,CAAC,eAA+D;aACpF,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,IAAI,EAAE;gBACb,MAAM,EAAE,IAAI,CAAC,mBAAmE;aACjF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0CAAW,GAAX,UAAY,IAAmE;QAC7E,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC;gBACT,MAAM,EACJ,qBAAiB,CAAC,eAA+D;aACpF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,EAAE,CACZ,6BAAsB,IAAI,CAAC,YAAY,CAAE,EACzC,UAAC,MAAyB;gBACxB,IAAI,CAAC,KAAK,CAAC;oBACT,MAAM,EAAE,MAAsD;iBAC/D,CAAC,CAAC;YACL,CAAC,CACF,CAAC;SACH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AApGD,IAoGC;AApGqB,oDAAoB"}
|
|
@@ -4,9 +4,11 @@ export declare class GrpcServer {
|
|
|
4
4
|
private startedOnce;
|
|
5
5
|
private _serviceNames;
|
|
6
6
|
private scheduledRestart;
|
|
7
|
+
private _postponeRequests;
|
|
7
8
|
private _useForce?;
|
|
8
9
|
private _services;
|
|
9
10
|
constructor(port?: string);
|
|
11
|
+
private postponeRestart;
|
|
10
12
|
private _url;
|
|
11
13
|
get url(): string;
|
|
12
14
|
createNewServer(useForce?: boolean): Promise<number>;
|
|
@@ -48,9 +48,16 @@ var GrpcServer = /** @class */ (function () {
|
|
|
48
48
|
this.started = false;
|
|
49
49
|
this.startedOnce = false;
|
|
50
50
|
this._serviceNames = [];
|
|
51
|
+
this._postponeRequests = 0;
|
|
51
52
|
this._services = [];
|
|
52
53
|
this._url = "0.0.0.0:".concat(port !== null && port !== void 0 ? port : '5000');
|
|
53
54
|
}
|
|
55
|
+
GrpcServer.prototype.postponeRestart = function () {
|
|
56
|
+
if (!this.scheduledRestart || this._postponeRequests > 5)
|
|
57
|
+
return;
|
|
58
|
+
this._postponeRequests++;
|
|
59
|
+
this.scheduleRefresh();
|
|
60
|
+
};
|
|
54
61
|
Object.defineProperty(GrpcServer.prototype, "url", {
|
|
55
62
|
get: function () {
|
|
56
63
|
return this._url;
|
|
@@ -83,7 +90,7 @@ var GrpcServer = /** @class */ (function () {
|
|
|
83
90
|
return __generator(this, function (_a) {
|
|
84
91
|
switch (_a.label) {
|
|
85
92
|
case 0:
|
|
86
|
-
functions = (0, helpers_1.wrapGrpcFunctions)(functions);
|
|
93
|
+
functions = (0, helpers_1.wrapGrpcFunctions)(functions, this.postponeRestart.bind(this));
|
|
87
94
|
if (!(this._serviceNames.indexOf(protoDescription) !== -1)) return [3 /*break*/, 1];
|
|
88
95
|
index_1.default.Logger.log('Service already exists, performing replace');
|
|
89
96
|
this._services[this._serviceNames.indexOf(protoDescription)] = {
|
|
@@ -173,6 +180,9 @@ var GrpcServer = /** @class */ (function () {
|
|
|
173
180
|
case 1:
|
|
174
181
|
_a.sent();
|
|
175
182
|
index_1.default.Logger.log('Refresh complete');
|
|
183
|
+
clearTimeout(self.scheduledRestart);
|
|
184
|
+
self.scheduledRestart = undefined;
|
|
185
|
+
self._postponeRequests = 0;
|
|
176
186
|
return [2 /*return*/];
|
|
177
187
|
}
|
|
178
188
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiF;AAEjF,iCAA+B;AAC/B,mDAAsC;AAEtC;
|
|
1
|
+
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,14 @@ export declare abstract class ManagedModule<T> extends ConduitServiceModule {
|
|
|
9
9
|
service?: ConduitService;
|
|
10
10
|
protected constructor(moduleName: string);
|
|
11
11
|
get name(): string;
|
|
12
|
+
get address(): string;
|
|
12
13
|
/**
|
|
13
14
|
* This is the first function triggered on module spin up.
|
|
14
|
-
* @param grpcSdk
|
|
15
|
+
* @param grpcSdk {ConduitGrpcSdk}
|
|
16
|
+
* @param address {string} external address:port of service (LoadBalancer)
|
|
17
|
+
* @param port {string} port to bring up gRPC service
|
|
15
18
|
*/
|
|
16
|
-
initialize(grpcSdk: ConduitGrpcSdk): void;
|
|
19
|
+
initialize(grpcSdk: ConduitGrpcSdk, address: string, port: string): void;
|
|
17
20
|
/**
|
|
18
21
|
* This is triggered before spinning up the Grpc Server
|
|
19
22
|
* of the module. On this stage, the redis bus and state have
|
|
@@ -63,7 +66,7 @@ export declare abstract class ManagedModule<T> extends ConduitServiceModule {
|
|
|
63
66
|
* Implemented by individual modules.
|
|
64
67
|
*/
|
|
65
68
|
initializeMetrics(): Promise<void>;
|
|
66
|
-
createGrpcServer(
|
|
69
|
+
createGrpcServer(): Promise<void>;
|
|
67
70
|
startGrpcServer(): Promise<void>;
|
|
68
71
|
setConfig(call: SetConfigRequest, callback: SetConfigResponse): Promise<void>;
|
|
69
72
|
/** Used to update the module's configuration on initial Redis/DB reconciliation. */
|
|
@@ -98,12 +98,23 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
98
98
|
enumerable: false,
|
|
99
99
|
configurable: true
|
|
100
100
|
});
|
|
101
|
+
Object.defineProperty(ManagedModule.prototype, "address", {
|
|
102
|
+
get: function () {
|
|
103
|
+
return this._address;
|
|
104
|
+
},
|
|
105
|
+
enumerable: false,
|
|
106
|
+
configurable: true
|
|
107
|
+
});
|
|
101
108
|
/**
|
|
102
109
|
* This is the first function triggered on module spin up.
|
|
103
|
-
* @param grpcSdk
|
|
110
|
+
* @param grpcSdk {ConduitGrpcSdk}
|
|
111
|
+
* @param address {string} external address:port of service (LoadBalancer)
|
|
112
|
+
* @param port {string} port to bring up gRPC service
|
|
104
113
|
*/
|
|
105
|
-
ManagedModule.prototype.initialize = function (grpcSdk) {
|
|
114
|
+
ManagedModule.prototype.initialize = function (grpcSdk, address, port) {
|
|
106
115
|
this.grpcSdk = grpcSdk;
|
|
116
|
+
this._address = address;
|
|
117
|
+
this._port = port;
|
|
107
118
|
if (this.configSchema) {
|
|
108
119
|
this.config = (0, convict_1.default)(this.configSchema);
|
|
109
120
|
}
|
|
@@ -201,13 +212,13 @@ var ManagedModule = /** @class */ (function (_super) {
|
|
|
201
212
|
return [2 /*return*/];
|
|
202
213
|
}); });
|
|
203
214
|
};
|
|
204
|
-
ManagedModule.prototype.createGrpcServer = function (
|
|
215
|
+
ManagedModule.prototype.createGrpcServer = function () {
|
|
205
216
|
return __awaiter(this, void 0, void 0, function () {
|
|
206
217
|
var _a;
|
|
207
218
|
return __generator(this, function (_b) {
|
|
208
219
|
switch (_b.label) {
|
|
209
220
|
case 0:
|
|
210
|
-
this.grpcServer = new __1.GrpcServer(
|
|
221
|
+
this.grpcServer = new __1.GrpcServer(this._port);
|
|
211
222
|
_a = this;
|
|
212
223
|
return [4 /*yield*/, this.grpcServer.createNewServer()];
|
|
213
224
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedModule.js","sourceRoot":"","sources":["../../src/classes/ManagedModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAKY;AACZ,+DAA8D;AAC9D,uDAAsD;AACtD,iCAA0C;AAC1C,yCAAuC;AACvC,oDAA8B;AAE9B;IAA+C,iCAAoB;IAOjE,uBAAsB,UAAkB;QAAxC,YACE,kBAAM,UAAU,CAAC,SAClB;QALD,oBAAc,GAAY,KAAK,CAAC;;IAKhC,CAAC;IAED,sBAAI,+BAAI;aAAR;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAED;;;
|
|
1
|
+
{"version":3,"file":"ManagedModule.js","sourceRoot":"","sources":["../../src/classes/ManagedModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,10 +86,11 @@ var ModuleManager = /** @class */ (function () {
|
|
|
86
86
|
this.serviceAddress =
|
|
87
87
|
// @compat (v0.15): SERVICE_IP -> SERVICE_URL
|
|
88
88
|
process.env.SERVICE_URL || process.env.SERVICE_IP || '0.0.0.0:' + this.servicePort;
|
|
89
|
+
var urlRemap = process.env.URL_REMAP;
|
|
89
90
|
try {
|
|
90
91
|
this.grpcSdk = new __1.default(process.env.CONDUIT_SERVER, function () {
|
|
91
92
|
return _this.module.healthState;
|
|
92
|
-
}, module.name);
|
|
93
|
+
}, module.name, true, urlRemap);
|
|
93
94
|
}
|
|
94
95
|
catch (_b) {
|
|
95
96
|
throw new Error('Failed to initialize grpcSdk');
|
|
@@ -97,21 +98,20 @@ var ModuleManager = /** @class */ (function () {
|
|
|
97
98
|
}
|
|
98
99
|
ModuleManager.prototype.start = function () {
|
|
99
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
100
|
-
var
|
|
101
|
+
var err_1;
|
|
101
102
|
return __generator(this, function (_a) {
|
|
102
103
|
switch (_a.label) {
|
|
103
104
|
case 0: return [4 /*yield*/, this.grpcSdk.initialize()];
|
|
104
105
|
case 1:
|
|
105
106
|
_a.sent();
|
|
106
|
-
this.module.initialize(this.grpcSdk);
|
|
107
|
-
self = this;
|
|
107
|
+
this.module.initialize(this.grpcSdk, this.serviceAddress, this.servicePort);
|
|
108
108
|
_a.label = 2;
|
|
109
109
|
case 2:
|
|
110
110
|
_a.trys.push([2, 5, , 6]);
|
|
111
111
|
return [4 /*yield*/, this.preRegisterLifecycle()];
|
|
112
112
|
case 3:
|
|
113
113
|
_a.sent();
|
|
114
|
-
return [4 /*yield*/,
|
|
114
|
+
return [4 /*yield*/, this.grpcSdk.config.registerModule(this.module.name, this.module.address, this.module.healthState)];
|
|
115
115
|
case 4:
|
|
116
116
|
_a.sent();
|
|
117
117
|
return [3 /*break*/, 6];
|
|
@@ -137,7 +137,7 @@ var ModuleManager = /** @class */ (function () {
|
|
|
137
137
|
return __awaiter(this, void 0, void 0, function () {
|
|
138
138
|
return __generator(this, function (_a) {
|
|
139
139
|
switch (_a.label) {
|
|
140
|
-
case 0: return [4 /*yield*/, this.module.createGrpcServer(
|
|
140
|
+
case 0: return [4 /*yield*/, this.module.createGrpcServer()];
|
|
141
141
|
case 1:
|
|
142
142
|
_a.sent();
|
|
143
143
|
return [4 /*yield*/, this.module.preServerStart()];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleManager.js","sourceRoot":"","sources":["../../src/classes/ModuleManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAgF;AAEhF,IAAM,mBAAmB,GAAG,UAAC,MAAiB;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YAC7B,IAAI,GAAG,KAAK,gBAAgB,EAAE;gBAC5B,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aACrD;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;IAKE,uBAA6B,MAAwB;QAArD,
|
|
1
|
+
{"version":3,"file":"ModuleManager.js","sourceRoot":"","sources":["../../src/classes/ModuleManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAgF;AAEhF,IAAM,mBAAmB,GAAG,UAAC,MAAiB;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YAC7B,IAAI,GAAG,KAAK,gBAAgB,EAAE;gBAC5B,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aACrD;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;IAKE,uBAA6B,MAAwB;QAArD,iBAsBC;;QAtB4B,WAAM,GAAN,MAAM,CAAkB;QACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,SAAS,mCAAI,MAAM,CAAC;QACnD,IAAI,CAAC,cAAc;YACjB,6CAA6C;YAC7C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACrF,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACvC,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,WAAc,CAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAC1B;gBACE,OAAO,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACjC,CAAC,EACD,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,QAAQ,CACT,CAAC;SACH;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;IACH,CAAC;IAEK,6BAAK,GAAX;;;;;4BACE,qBAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAA;;wBAA/B,SAA+B,CAAC;wBAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;;;;wBAE1E,qBAAM,IAAI,CAAC,oBAAoB,EAAE,EAAA;;wBAAjC,SAAiC,CAAC;wBAClC,qBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CACtC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,WAAW,CACxB,EAAA;;wBAJD,SAIC,CAAC;;;;wBAEF,WAAc,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAC3D,WAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAY,CAAC,CAAC;wBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAEnB,qBAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,UAAC,GAAU;4BAClD,WAAc,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;4BACzD,WAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;;;KACJ;IAEa,4CAAoB,GAAlC;;;;4BACE,qBAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAA;;wBAApC,SAAoC,CAAC;wBACrC,qBAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAA;;wBAAlC,SAAkC,CAAC;wBACnC,qBAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAA;;wBAA1C,SAA0C,CAAC;wBAC3C,qBAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,qBAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,qBAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAA;;wBAAjC,SAAiC,CAAC;wBAClC,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAA;;wBAArC,SAAqC,CAAC;wBACtC,qBAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAA;;wBAA/B,SAA+B,CAAC;;;;;KACjC;IAEa,6CAAqB,GAAnC;;;;;4BACE,qBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;6BAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAlB,wBAAkB;wBACd,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBAEhD,MAAM,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;wBAC5C,qBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAA;;wBAA5C,MAAM,GAAG,SAAmC,CAAC;wBAEpC,qBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAC1C,MAAM,EACN,mBAAmB,CAAC,YAAY,CAAC,EACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,EAAA;;wBAJD,MAAM,GAAG,SAIR,CAAC;wBAEF,oBAAgB,CAAC,WAAW,EAAE,CAAC;wBAC/B,IAAI,MAAM;4BAAE,oBAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;6BACvD,CAAA,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA,EAA5D,wBAA4D;wBAC9D,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAA5B,SAA4B,CAAC;;;;;;KAElC;IACH,oBAAC;AAAD,CAAC,AAnFD,IAmFC;AAnFY,sCAAa"}
|
package/dist/classes/index.d.ts
CHANGED
package/dist/classes/index.js
CHANGED
|
@@ -22,5 +22,4 @@ __exportStar(require("./ConduitServiceModule"), exports);
|
|
|
22
22
|
__exportStar(require("./ManagedModule"), exports);
|
|
23
23
|
__exportStar(require("./ModuleManager"), exports);
|
|
24
24
|
__exportStar(require("./ConfigController"), exports);
|
|
25
|
-
__exportStar(require("./ConduitParser"), exports);
|
|
26
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,kDAAgC;AAChC,wDAAsC;AACtC,+CAA6B;AAC7B,yDAAuC;AACvC,kDAAgC;AAChC,kDAAgC;AAChC,qDAAmC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,kDAAgC;AAChC,wDAAsC;AACtC,+CAA6B;AAC7B,yDAAuC;AACvC,kDAAgC;AAChC,kDAAgC;AAChC,qDAAmC"}
|
|
@@ -7,43 +7,38 @@ exports.wrapGrpcFunctions = void 0;
|
|
|
7
7
|
var fast_jwt_1 = require("fast-jwt");
|
|
8
8
|
var grpc_js_1 = require("@grpc/grpc-js");
|
|
9
9
|
var index_1 = __importDefault(require("../index"));
|
|
10
|
-
function wrapGrpcFunctions(functions) {
|
|
10
|
+
function wrapGrpcFunctions(functions, postponeRestart) {
|
|
11
11
|
var grpcKey = process.env.GRPC_KEY;
|
|
12
12
|
var wrappedFunctions = {};
|
|
13
13
|
Object.keys(functions).forEach(function (name) {
|
|
14
14
|
wrappedFunctions[name] = function (call, callback) {
|
|
15
|
-
var _a
|
|
15
|
+
var _a;
|
|
16
|
+
(_a = index_1.default.Metrics) === null || _a === void 0 ? void 0 : _a.increment('internal_grpc_requests_total');
|
|
17
|
+
postponeRestart();
|
|
16
18
|
if (grpcKey) {
|
|
17
19
|
var verify = (0, fast_jwt_1.createVerifier)({ key: grpcKey });
|
|
18
20
|
var grpcToken = call.metadata.get('grpc-token')[0];
|
|
19
21
|
if (!grpcToken) {
|
|
20
|
-
callback
|
|
21
|
-
code: grpc_js_1.status.PERMISSION_DENIED,
|
|
22
|
-
message: 'No gRPC protection token provided',
|
|
23
|
-
});
|
|
24
|
-
return;
|
|
22
|
+
return throwError(callback, 'No gRPC protection token provided', grpc_js_1.status.PERMISSION_DENIED);
|
|
25
23
|
}
|
|
26
24
|
try {
|
|
27
25
|
var jwt = verify(grpcToken);
|
|
28
26
|
call.metadata.set('module-name', jwt.moduleName);
|
|
29
27
|
}
|
|
30
|
-
catch (
|
|
31
|
-
callback
|
|
32
|
-
code: grpc_js_1.status.PERMISSION_DENIED,
|
|
33
|
-
message: 'Failed to verify gRPC protection token. GRPC_KEY value differs',
|
|
34
|
-
});
|
|
35
|
-
return;
|
|
28
|
+
catch (_b) {
|
|
29
|
+
return throwError(callback, 'Failed to verify gRPC protection token. GRPC_KEY value differs', grpc_js_1.status.PERMISSION_DENIED);
|
|
36
30
|
}
|
|
37
31
|
}
|
|
38
|
-
|
|
32
|
+
var invoked;
|
|
39
33
|
try {
|
|
40
|
-
functions[name](call, callback);
|
|
34
|
+
invoked = functions[name](call, callback);
|
|
41
35
|
}
|
|
42
36
|
catch (error) {
|
|
43
|
-
(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
return throwError(callback, error.message);
|
|
38
|
+
}
|
|
39
|
+
if (typeof (invoked === null || invoked === void 0 ? void 0 : invoked.then) === 'function') {
|
|
40
|
+
invoked.then().catch(function (error) {
|
|
41
|
+
return throwError(callback, error.message);
|
|
47
42
|
});
|
|
48
43
|
}
|
|
49
44
|
};
|
|
@@ -51,4 +46,11 @@ function wrapGrpcFunctions(functions) {
|
|
|
51
46
|
return wrappedFunctions;
|
|
52
47
|
}
|
|
53
48
|
exports.wrapGrpcFunctions = wrapGrpcFunctions;
|
|
49
|
+
function throwError(callback, message, code) {
|
|
50
|
+
if (code === void 0) { code = grpc_js_1.status.INTERNAL; }
|
|
51
|
+
// Aborting server streams is not yet implemented!
|
|
52
|
+
if (callback) {
|
|
53
|
+
callback({ code: code, message: message });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
54
56
|
//# sourceMappingURL=wrapGrpcFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapGrpcFunctions.js","sourceRoot":"","sources":["../../src/helpers/wrapGrpcFunctions.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA0C;AAC1C,yCAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"wrapGrpcFunctions.js","sourceRoot":"","sources":["../../src/helpers/wrapGrpcFunctions.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA0C;AAC1C,yCAAuC;AACvC,mDAAwD;AAOxD,SAAgB,iBAAiB,CAC/B,SAAuC,EACvC,eAA2B;IAE3B,IAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,IAAM,gBAAgB,GAAiC,EAAE,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;QACjC,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAC,IAAS,EAAE,QAAa;;YAChD,MAAA,eAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,8BAA8B,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC;YAClB,IAAI,OAAO,EAAE;gBACX,IAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,UAAU,CACf,QAAQ,EACR,mCAAmC,EACnC,gBAAM,CAAC,iBAAiB,CACzB,CAAC;iBACH;gBACD,IAAI;oBACF,IAAM,GAAG,GAAQ,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;iBAClD;gBAAC,WAAM;oBACN,OAAO,UAAU,CACf,QAAQ,EACR,gEAAgE,EAChE,gBAAM,CAAC,iBAAiB,CACzB,CAAC;iBACH;aACF;YACD,IAAI,OAA2B,CAAC;YAChC,IAAI;gBACF,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC3C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,UAAU,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;aACvD;YACD,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,KAAK,UAAU,EAAE;gBACvC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAC,KAAY;oBAChC,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AA7CD,8CA6CC;AAED,SAAS,UAAU,CACjB,QAAuC,EACvC,OAAe,EACf,IAA8B;IAA9B,qBAAA,EAAA,OAAe,gBAAM,CAAC,QAAQ;IAE9B,kDAAkD;IAClD,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;KAC7B;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,11 +2,13 @@ import { Admin, Chat, Config, Core, DatabaseProvider, Email, Forms, PushNotifica
|
|
|
2
2
|
import { EventBus } from './utilities/EventBus';
|
|
3
3
|
import { StateManager } from './utilities/StateManager';
|
|
4
4
|
import { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
|
|
5
|
+
import { ConduitModule } from './classes/ConduitModule';
|
|
5
6
|
import { Client } from 'nice-grpc';
|
|
6
7
|
import { HealthDefinition } from './protoUtils/grpc_health_check';
|
|
7
8
|
import { ConduitLogger } from './utilities/Logger';
|
|
8
9
|
import { ConduitMetrics } from './metrics';
|
|
9
10
|
export default class ConduitGrpcSdk {
|
|
11
|
+
private readonly urlRemap?;
|
|
10
12
|
private readonly serverUrl;
|
|
11
13
|
private readonly _watchModules;
|
|
12
14
|
private readonly _core?;
|
|
@@ -26,7 +28,7 @@ export default class ConduitGrpcSdk {
|
|
|
26
28
|
private _initialized;
|
|
27
29
|
static Metrics?: ConduitMetrics;
|
|
28
30
|
static readonly Logger: ConduitLogger;
|
|
29
|
-
constructor(serverUrl: string, serviceHealthStatusGetter: Function, name?: string, watchModules?: boolean);
|
|
31
|
+
constructor(serverUrl: string, serviceHealthStatusGetter: Function, name?: string, watchModules?: boolean, urlRemap?: string | undefined);
|
|
30
32
|
initialize(): Promise<void>;
|
|
31
33
|
private _initialize;
|
|
32
34
|
get bus(): EventBus | null;
|
|
@@ -61,7 +63,8 @@ export default class ConduitGrpcSdk {
|
|
|
61
63
|
createModuleClient(moduleName: string, moduleUrl: string): void;
|
|
62
64
|
isModuleUp(moduleName: string, moduleUrl: string, service?: string): Promise<any>;
|
|
63
65
|
moduleClient(name: string, type: CompatServiceDefinition): void;
|
|
64
|
-
getModule<T extends CompatServiceDefinition>(name: string):
|
|
66
|
+
getModule<T extends CompatServiceDefinition>(name: string): ConduitModule<T> | undefined;
|
|
67
|
+
getServiceClient<T extends CompatServiceDefinition>(name: string): Client<T> | undefined;
|
|
65
68
|
getHealthClient<T extends CompatServiceDefinition>(name: string): Client<typeof HealthDefinition> | undefined;
|
|
66
69
|
isAvailable(moduleName: string): boolean;
|
|
67
70
|
waitForExistence(moduleName: string): Promise<boolean>;
|
package/dist/index.js
CHANGED
|
@@ -71,8 +71,9 @@ var path_1 = __importDefault(require("path"));
|
|
|
71
71
|
var winston_loki_1 = __importDefault(require("winston-loki"));
|
|
72
72
|
var metrics_1 = require("./metrics");
|
|
73
73
|
var ConduitGrpcSdk = /** @class */ (function () {
|
|
74
|
-
function ConduitGrpcSdk(serverUrl, serviceHealthStatusGetter, name, watchModules) {
|
|
74
|
+
function ConduitGrpcSdk(serverUrl, serviceHealthStatusGetter, name, watchModules, urlRemap) {
|
|
75
75
|
if (watchModules === void 0) { watchModules = true; }
|
|
76
|
+
this.urlRemap = urlRemap;
|
|
76
77
|
this._modules = {};
|
|
77
78
|
this._availableModules = {
|
|
78
79
|
router: modules_1.Router,
|
|
@@ -448,7 +449,8 @@ var ConduitGrpcSdk = /** @class */ (function () {
|
|
|
448
449
|
}
|
|
449
450
|
return promise
|
|
450
451
|
.then(function () {
|
|
451
|
-
var
|
|
452
|
+
var _a;
|
|
453
|
+
var redisManager = new RedisManager_1.RedisManager((_a = _this.urlRemap) !== null && _a !== void 0 ? _a : _this._redisDetails.host, _this._redisDetails.port);
|
|
452
454
|
_this._eventBus = new EventBus_1.EventBus(redisManager);
|
|
453
455
|
_this._stateManager = new StateManager_1.StateManager(redisManager, _this.name);
|
|
454
456
|
return _this._eventBus;
|
|
@@ -483,10 +485,12 @@ var ConduitGrpcSdk = /** @class */ (function () {
|
|
|
483
485
|
(!this._availableModules[moduleName] && !this._dynamicModules[moduleName]))
|
|
484
486
|
return;
|
|
485
487
|
if (this._availableModules[moduleName]) {
|
|
486
|
-
|
|
488
|
+
// ConduitGrpcSdk.Logger.log(`Creating gRPC client for ${moduleName}`);
|
|
489
|
+
this._modules[moduleName] = new this._availableModules[moduleName](this.name, this.urlRemap ? "".concat(this.urlRemap, ":").concat(moduleUrl.split(':')[1]) : moduleUrl, this._grpcToken);
|
|
487
490
|
}
|
|
488
491
|
else if (this._dynamicModules[moduleName]) {
|
|
489
|
-
|
|
492
|
+
// ConduitGrpcSdk.Logger.log(`Creating gRPC client for ${moduleName}`);
|
|
493
|
+
this._modules[moduleName] = new ConduitModule_1.ConduitModule(this.name, moduleName, this.urlRemap ? "".concat(this.urlRemap, ":").concat(moduleUrl.split(':')[1]) : moduleUrl, this._grpcToken);
|
|
490
494
|
this._modules[moduleName].initializeClient(this._dynamicModules[moduleName]);
|
|
491
495
|
}
|
|
492
496
|
};
|
|
@@ -498,15 +502,19 @@ var ConduitGrpcSdk = /** @class */ (function () {
|
|
|
498
502
|
this._dynamicModules[name] = type;
|
|
499
503
|
};
|
|
500
504
|
ConduitGrpcSdk.prototype.getModule = function (name) {
|
|
501
|
-
|
|
502
|
-
|
|
505
|
+
return this._modules[name];
|
|
506
|
+
};
|
|
507
|
+
ConduitGrpcSdk.prototype.getServiceClient = function (name) {
|
|
508
|
+
var _a;
|
|
509
|
+
return (_a = this._modules[name]) === null || _a === void 0 ? void 0 : _a.client;
|
|
503
510
|
};
|
|
504
511
|
ConduitGrpcSdk.prototype.getHealthClient = function (name) {
|
|
505
|
-
|
|
506
|
-
|
|
512
|
+
var _a;
|
|
513
|
+
return (_a = this._modules[name]) === null || _a === void 0 ? void 0 : _a.healthClient;
|
|
507
514
|
};
|
|
508
515
|
ConduitGrpcSdk.prototype.isAvailable = function (moduleName) {
|
|
509
|
-
|
|
516
|
+
var _a;
|
|
517
|
+
return !!((_a = this._modules[moduleName]) === null || _a === void 0 ? void 0 : _a.active);
|
|
510
518
|
};
|
|
511
519
|
ConduitGrpcSdk.prototype.waitForExistence = function (moduleName) {
|
|
512
520
|
return __awaiter(this, void 0, void 0, function () {
|