forked from simrail/simrail.pro
feat(backend): fix search in active.
This commit is contained in:
parent
1fc526bd43
commit
905cf0e622
@ -52,8 +52,10 @@ export class ActivePlayersRoute
|
|||||||
|
|
||||||
let a: ActiveTrain[] = [];
|
let a: ActiveTrain[] = [];
|
||||||
|
|
||||||
for (const data of Object.values(client.trains)) {
|
for (const data of Object.values(client.trains))
|
||||||
for (const d of data.filter(d => d.TrainData.ControlledBySteamID)) {
|
{
|
||||||
|
for (const d of data.filter(d => d.TrainData.ControlledBySteamID))
|
||||||
|
{
|
||||||
const p = await PlayerUtil.getPlayer(d.TrainData.ControlledBySteamID!);
|
const p = await PlayerUtil.getPlayer(d.TrainData.ControlledBySteamID!);
|
||||||
p && a.push({
|
p && a.push({
|
||||||
server: d.ServerCode,
|
server: d.ServerCode,
|
||||||
@ -63,12 +65,13 @@ export class ActivePlayersRoute
|
|||||||
|
|
||||||
username: p?.username,
|
username: p?.username,
|
||||||
steam: p?.id,
|
steam: p?.id,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s) {
|
if (s)
|
||||||
a = a.filter(d => s.some(c => c.test(d.server)) || s.some(c => c.test(d.username)) || s.some(c => c.test(d.steam)) || s.some(c => c.test(d.steam)) || s.some(c => c.test(d.trainName) || s.some(c => c.test(d.trainNumber))));
|
{
|
||||||
|
a = a.filter(d => s.filter(c => c.test(d.server) || c.test(d.username) || c.test(d.steam) || c.test(d.steam) || c.test(d.trainName) || c.test(d.trainNumber) ).length === s.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
a = arrayGroupBy(a, d => d.server);
|
a = arrayGroupBy(a, d => d.server);
|
||||||
@ -88,9 +91,11 @@ export class ActivePlayersRoute
|
|||||||
|
|
||||||
let a: ActiveStation[] = [];
|
let a: ActiveStation[] = [];
|
||||||
|
|
||||||
for (const server of Object.keys(client.stations)) {
|
for (const server of Object.keys(client.stations))
|
||||||
for (const d of client.stations[server].filter(d => d.DispatchedBy.length && d.DispatchedBy[0]?.SteamId)) {
|
{
|
||||||
const p = await PlayerUtil.getPlayer(d.DispatchedBy[0].SteamId!);
|
for (const d of client.stations[ server ].filter(d => d.DispatchedBy.length && d.DispatchedBy[ 0 ]?.SteamId))
|
||||||
|
{
|
||||||
|
const p = await PlayerUtil.getPlayer(d.DispatchedBy[ 0 ].SteamId!);
|
||||||
p && a.push({
|
p && a.push({
|
||||||
server: server,
|
server: server,
|
||||||
player: p,
|
player: p,
|
||||||
@ -99,12 +104,13 @@ export class ActivePlayersRoute
|
|||||||
|
|
||||||
username: p?.username,
|
username: p?.username,
|
||||||
steam: p?.id,
|
steam: p?.id,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s) {
|
if (s)
|
||||||
a = a.filter(d => s.some(c => c.test(d.server)) || s.some(c => c.test(d.username)) || s.some(c => c.test(d.steam)) || s.some(c => c.test(d.steam)) || s.some(c => c.test(d.stationName) || s.some(c => c.test(d.stationShort))));
|
{
|
||||||
|
a = a.filter(d => s.filter(c => c.test(d.server) || c.test(d.username) || c.test(d.steam) || c.test(d.steam) || c.test(d.stationName) || c.test(d.stationShort) ).length === s.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user