diff options
| author | AghayeCoder <ahmand@vk.com> | 2025-01-31 16:57:09 +0300 |
|---|---|---|
| committer | AghayeCoder <ahmand@vk.com> | 2025-01-31 16:57:09 +0300 |
| commit | 46ba4c451856d4bc4b0ee94c18081c83b2f1655a (patch) | |
| tree | 2d8b2f9c4d6f7d77ed726a54b8112d5bed5d44c6 /web/html | |
| parent | a787ab497cf55c51a69284f71821fa353d823766 (diff) | |
fix getSubGroupClients for enable/disable and edit clients.
Diffstat (limited to 'web/html')
| -rw-r--r-- | web/html/xui/inbounds.html | 67 |
1 files changed, 40 insertions, 27 deletions
diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html index 9dce8982..1cd1be1a 100644 --- a/web/html/xui/inbounds.html +++ b/web/html/xui/inbounds.html @@ -1195,35 +1195,48 @@ } }, getSubGroupClients(dbInbounds, currentClient) { - const response = { - inbounds: [], - clients: [], - editIds: [] + const response = { + inbounds: [], + clients: [], + editIds: [], + }; + + if (!Array.isArray(dbInbounds) || dbInbounds.length === 0) { + return response; + } + if (!currentClient || !currentClient.subId) { + return response; + } + + dbInbounds.forEach((dbInboundItem) => { + try { + const dbInbound = new DBInbound(dbInboundItem); + if (!dbInbound) { + return; } - if (dbInbounds && dbInbounds.length > 0 && currentClient) { - dbInbounds.forEach((dbInboundItem) => { - const dbInbound = new DBInbound(dbInboundItem); - if (dbInbound) { - const inbound = dbInbound.toInbound(); - if (inbound) { - const clients = inbound.clients; - if (clients.length > 0) { - clients.forEach((client) => { - if (client['subId'] === currentClient['subId']) { - client['inboundId'] = dbInboundItem.id - client['clientId'] = this.getClientId(dbInbound.protocol, client) - response.inbounds.push(dbInboundItem.id) - response.clients.push(client) - response.editIds.push(client['clientId']) - } - }) - } - } - } - }) + + const inbound = dbInbound.toInbound(); + if (!inbound || !Array.isArray(inbound.clients)) { + return; } - return response; - }, + + inbound.clients.forEach((client) => { + if (client.subId === currentClient.subId) { + client.inboundId = dbInboundItem.id; + client.clientId = this.getClientId(dbInbound.protocol, client); + + response.inbounds.push(dbInboundItem.id); + response.clients.push(client); + response.editIds.push(client.clientId); + } + }); + } catch (error) { + console.error("Error processing dbInboundItem:", dbInboundItem, error); + } + }); + + return response; + }, getClientId(protocol, client) { switch (protocol) { case Protocols.TROJAN: return client.password; |
