mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-03-01 01:20:49 +03:00
fix getSubGroupClients for enable/disable and edit clients.
This commit is contained in:
parent
a787ab497c
commit
46ba4c4518
@ -1195,35 +1195,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
getSubGroupClients(dbInbounds, currentClient) {
|
getSubGroupClients(dbInbounds, currentClient) {
|
||||||
const response = {
|
const response = {
|
||||||
inbounds: [],
|
inbounds: [],
|
||||||
clients: [],
|
clients: [],
|
||||||
editIds: []
|
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 inbound = dbInbound.toInbound();
|
||||||
const dbInbound = new DBInbound(dbInboundItem);
|
if (!inbound || !Array.isArray(inbound.clients)) {
|
||||||
if (dbInbound) {
|
return;
|
||||||
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'])
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
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) {
|
getClientId(protocol, client) {
|
||||||
switch (protocol) {
|
switch (protocol) {
|
||||||
case Protocols.TROJAN: return client.password;
|
case Protocols.TROJAN: return client.password;
|
||||||
|
Loading…
Reference in New Issue
Block a user