1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-22 02:12:40 +01:00

Merge pull request #1233 from dank074/patch/fixOp8

fix opcode 8 handler: onRequestGuildMembers
This commit is contained in:
Madeline 2024-11-14 13:13:12 +11:00 committed by GitHub
commit 762287e57b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 12 deletions

View File

@ -27,7 +27,7 @@ import {
} from "@spacebar/util";
import { WebSocket, Payload, OPCODES, Send } from "@spacebar/gateway";
import { check } from "./instanceOf";
import { FindManyOptions, In, Like } from "typeorm";
import { FindManyOptions, ILike, In } from "typeorm";
export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) {
// Schema validation can only accept either string or array, so transforming it here to support both
@ -114,7 +114,7 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) {
if (query) {
// @ts-expect-error memberFind.where is very much defined
memberFind.where.user = {
username: Like(query + "%"),
username: ILike(query + "%"),
};
} else if (user_ids && user_ids.length > 0) {
// @ts-expect-error memberFind.where is still very much defined
@ -166,15 +166,17 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) {
});
}
if (chunks.length == 0) {
chunks.push({
...baseData,
members: [],
presences: presences ? [] : undefined,
chunk_index: 0,
chunk_count: 1,
});
}
if (notFound.length > 0) {
if (chunks.length == 0)
chunks.push({
...baseData,
members: [],
presences: presences ? [] : undefined,
chunk_index: 0,
chunk_count: 1,
});
chunks[0].not_found = notFound;
}

View File

@ -466,8 +466,8 @@ export class Member extends BaseClassWithoutId {
member[x] = this[x];
});
if (member.roles) member.roles = member.roles.map((x: Role) => x.id);
if (member.user) member.user = member.user.toPublicUser();
if (this.roles) member.roles = this.roles.map((x: Role) => x.id);
if (this.user) member.user = this.user.toPublicUser();
return member as PublicMember;
}