From ed9b6a19e8da58a48f5eabd44b2419cc13f3c433 Mon Sep 17 00:00:00 2001 From: frankpagan Date: Thu, 15 Feb 2024 07:01:23 -0500 Subject: [PATCH] fix: data.socket removal before sending --- src/index.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/index.js b/src/index.js index 3b2b4d0..3611c60 100644 --- a/src/index.js +++ b/src/index.js @@ -460,6 +460,7 @@ class SocketServer extends EventEmitter { } else { const sent = [] + //TODO: get socket using clientId if socket has been deleted from data const authorized = await this.authorize.check(data, socket.user_id) if (authorized && authorized.authorized) data = authorized.authorized @@ -478,21 +479,27 @@ class SocketServer extends EventEmitter { let sockets = this.get(data); - delete data.socket + // delete data.socket for (let i = 0; i < sockets.length; i++) { if (!sockets[i]) continue const authorized = await this.authorize.check(data, sockets[i].user_id) - if (authorized && authorized.authorized) - sockets[i].send(JSON.stringify(authorized.authorized)); - else - sockets[i].send(JSON.stringify(data)); + let Data + if (authorized && authorized.authorized) { + Data = { ...authorized.authorized } + } else { + Data = { ...data } + } + + delete Data.socket + sockets[i].send(JSON.stringify(Data)); + sent.push(socket.clientId) this.emit("setBandwidth", { type: 'out', - data: authorized.authorized || data, + data: Data, organization_id: socket.organization_id }) }