mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 10:31:15 +00:00
feat(core): Implement inter-main communication for test webhooks in multi-main setup (#8267)
This commit is contained in:
@@ -34,9 +34,7 @@ export class Push extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
if (useWebSockets) {
|
||||
this.backend.on('message', (msg) => this.emit('message', msg));
|
||||
}
|
||||
if (useWebSockets) this.backend.on('message', (msg) => this.emit('message', msg));
|
||||
}
|
||||
|
||||
handleRequest(req: SSEPushRequest | WebSocketPushRequest, res: PushResponse) {
|
||||
@@ -44,6 +42,7 @@ export class Push extends EventEmitter {
|
||||
userId,
|
||||
query: { sessionId },
|
||||
} = req;
|
||||
|
||||
if (req.ws) {
|
||||
(this.backend as WebSocketPush).add(sessionId, userId, req.ws);
|
||||
} else if (!useWebSockets) {
|
||||
@@ -56,24 +55,24 @@ export class Push extends EventEmitter {
|
||||
this.emit('editorUiConnected', sessionId);
|
||||
}
|
||||
|
||||
broadcast<D>(type: IPushDataType, data?: D) {
|
||||
this.backend.broadcast(type, data);
|
||||
broadcast(type: IPushDataType, data?: unknown) {
|
||||
this.backend.sendToAllSessions(type, data);
|
||||
}
|
||||
|
||||
send<D>(type: IPushDataType, data: D, sessionId: string) {
|
||||
this.backend.send(type, data, sessionId);
|
||||
send(type: IPushDataType, data: unknown, sessionId: string) {
|
||||
this.backend.sendToOneSession(type, data, sessionId);
|
||||
}
|
||||
|
||||
getBackend() {
|
||||
return this.backend;
|
||||
}
|
||||
|
||||
sendToUsers<D>(type: IPushDataType, data: D, userIds: Array<User['id']>) {
|
||||
sendToUsers(type: IPushDataType, data: unknown, userIds: Array<User['id']>) {
|
||||
this.backend.sendToUsers(type, data, userIds);
|
||||
}
|
||||
|
||||
@OnShutdown()
|
||||
onShutdown(): void {
|
||||
onShutdown() {
|
||||
this.backend.closeAllConnections();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user