Skip to content

Commit 6bee968

Browse files
committed
fix(grpc-sdk): incomplete comms migration
1 parent fe40ff3 commit 6bee968

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

libraries/grpc-sdk/src/index.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ import {
4646

4747
type UrlRemap = { [url: string]: string };
4848

49+
const COMMUNICATIONS_LEGACY_MODULES = ['email', 'sms', 'pushNotifications'] as const;
50+
4951
class ConduitGrpcSdk {
5052
public readonly name: string;
5153
public readonly instance: string;
@@ -325,6 +327,12 @@ class ConduitGrpcSdk {
325327
if ((!found || found.length === 0) && this._modules[r]) {
326328
this._modules[r]?.closeConnection();
327329
emitter.emit(`module-connection-update:${r}`, false);
330+
if (r === 'communications') {
331+
for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {
332+
this._modules[legacyModule]?.closeConnection();
333+
emitter.emit(`module-connection-update:${legacyModule}`, false);
334+
}
335+
}
328336
}
329337
});
330338
modules.forEach((m: ModuleListResponse_ModuleResponse) => {
@@ -337,6 +345,11 @@ class ConduitGrpcSdk {
337345
this.createModuleClient(m.moduleName, m.url);
338346
}
339347
emitter.emit(`module-connection-update:${m.moduleName}`, true);
348+
if (m.moduleName === 'communications') {
349+
for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {
350+
emitter.emit(`module-connection-update:${legacyModule}`, true);
351+
}
352+
}
340353
});
341354
});
342355
emitter.on('core-status-update', () => {
@@ -431,6 +444,11 @@ class ConduitGrpcSdk {
431444
r.forEach(m => {
432445
this.createModuleClient(m.moduleName, m.url);
433446
emitter.emit(`module-connection-update:${m.moduleName}`, m.serving);
447+
if (m.moduleName === 'communications') {
448+
for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {
449+
emitter.emit(`module-connection-update:${legacyModule}`, m.serving);
450+
}
451+
}
434452
});
435453
return 'ok';
436454
})
@@ -480,6 +498,20 @@ class ConduitGrpcSdk {
480498
);
481499
this._modules[moduleName].initializeClient(ConduitModuleDefinition);
482500
}
501+
502+
// When communications is created, also create legacy module clients
503+
if (moduleName === 'communications') {
504+
for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {
505+
if (!this._modules[legacyModule] && this._availableModules[legacyModule]) {
506+
ConduitGrpcSdk.Logger.info(`Creating gRPC client for ${legacyModule}`);
507+
this._modules[legacyModule] = new this._availableModules[legacyModule](
508+
this.name,
509+
moduleUrl,
510+
this._grpcToken,
511+
);
512+
}
513+
}
514+
}
483515
}
484516

485517
isModuleUp(moduleName: string, moduleUrl: string, service: string = '') {

0 commit comments

Comments
 (0)