mirror of
https://github.com/PretendoNetwork/account.git
synced 2026-03-21 17:44:49 -05:00
fix(servers): use find query to lessen db load
This commit is contained in:
parent
ed780efb1e
commit
c769cf3d23
|
|
@ -212,14 +212,15 @@ export async function getPNIDProfileJSONByPID(pid: number): Promise<PNIDProfile
|
|||
}
|
||||
|
||||
export async function getServerByGameServerID(gameServerID: string, accessMode: string): Promise<HydratedServerDocument | null> {
|
||||
const searchModes = accessModeOrder[accessMode] || ['prod'];
|
||||
const searchModes = accessModeOrder[accessMode] ?? accessModeOrder.prod; // Default to prod if invalid mode
|
||||
|
||||
const servers = await Server.find({
|
||||
game_server_id: gameServerID,
|
||||
access_mode: { $in: searchModes }
|
||||
})
|
||||
|
||||
for (const mode of searchModes) {
|
||||
const server = await Server.findOne({
|
||||
game_server_id: gameServerID,
|
||||
access_mode: mode
|
||||
});
|
||||
|
||||
const server = servers.find(s => s.access_mode === mode);
|
||||
if (server) return server;
|
||||
}
|
||||
|
||||
|
|
@ -227,14 +228,15 @@ export async function getServerByGameServerID(gameServerID: string, accessMode:
|
|||
}
|
||||
|
||||
export async function getServerByTitleID(titleID: string, accessMode: string): Promise<HydratedServerDocument | null> {
|
||||
const searchModes = accessModeOrder[accessMode] || ['prod'];
|
||||
const searchModes = accessModeOrder[accessMode] ?? accessModeOrder.prod;
|
||||
|
||||
const servers = await Server.find({
|
||||
title_ids: titleID,
|
||||
access_mode: { $in: searchModes }
|
||||
})
|
||||
|
||||
for (const mode of searchModes) {
|
||||
const server = await Server.findOne({
|
||||
title_ids: titleID,
|
||||
access_mode: mode
|
||||
});
|
||||
|
||||
const server = servers.find(s => s.access_mode === mode);
|
||||
if (server) return server;
|
||||
}
|
||||
|
||||
|
|
@ -242,21 +244,21 @@ export async function getServerByTitleID(titleID: string, accessMode: string): P
|
|||
}
|
||||
|
||||
export async function getServerByClientID(clientID: string, accessMode: string): Promise<HydratedServerDocument | null> {
|
||||
const searchModes = accessModeOrder[accessMode] || ['prod'];
|
||||
const searchModes = accessModeOrder[accessMode] ?? accessModeOrder.prod;
|
||||
|
||||
const servers = await Server.find({
|
||||
client_id: clientID,
|
||||
access_mode: { $in: searchModes }
|
||||
})
|
||||
|
||||
for (const mode of searchModes) {
|
||||
const server = await Server.findOne({
|
||||
client_id: clientID,
|
||||
access_mode: mode
|
||||
});
|
||||
|
||||
const server = servers.find(s => s.access_mode === mode);
|
||||
if (server) return server;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
export async function addPNIDConnection(pnid: HydratedPNIDDocument, data: ConnectionData, type: string): Promise<ConnectionResponse | undefined> {
|
||||
if (type === 'discord') {
|
||||
return await addPNIDConnectionDiscord(pnid, data);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user