Fix LazyRequest throwing when no offline group exists

Wrap getRepository in try catch
This commit is contained in:
Madeline 2022-08-02 23:18:11 +10:00
parent 8ec17b74cb
commit fe5e22c93c

View File

@ -18,7 +18,9 @@ async function getMembers(guild_id: string, range: [number, number]) {
}
// TODO: wait for typeorm to implement ordering for .find queries https://github.com/typeorm/typeorm/issues/2620
let members = await getRepository(Member)
let members;
try {
members = await getRepository(Member)
.createQueryBuilder("member")
.where("member.guild_id = :guild_id", { guild_id })
.leftJoinAndSelect("member.roles", "role")
@ -34,6 +36,16 @@ async function getMembers(guild_id: string, range: [number, number]) {
.offset(Number(range[0]) || 0)
.limit(Number(range[1]) || 100)
.getMany();
}
catch (e) {
console.error(`LazyRequest`, e);
return {
items: [],
groups: [],
range: [],
members: [],
}
}
const groups = [] as any[];
const items = [];
@ -155,7 +167,7 @@ export async function onLazyRequest(this: WebSocket, { d }: Payload) {
op: "SYNC",
range: x.range,
})),
online_count: member_count - groups.find(x => x.id == "offline").count,
online_count: member_count - (groups.find(x => x.id == "offline")?.count ?? 0),
member_count,
id: "everyone",
guild_id,