summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-06-11 00:38:43 +0200
committerRory& <root@rory.gay>2026-06-11 00:38:43 +0200
commit6a01e49c94da9c5244ba743c49cd7128a0912ce9 (patch)
treec8fd68f48113381695d5c94ec6707078a2d07e72
parentAssertions first, use exists rather than count/find (diff)
downloadserver-ts-6a01e49c94da9c5244ba743c49cd7128a0912ce9.tar.xz
Deduplicate channel positions query
-rw-r--r--src/util/entities/Member.ts15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts

index f7b69d3d..67c7e4c6 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts
@@ -333,10 +333,14 @@ export class Member extends BaseClassWithoutId { relations: PublicGuildRelations, relationLoadStrategy: "query", }); + const channelPositionsGuild = await Guild.findOneOrFail({ + where: { id: guild_id }, + select: { channel_ordering: true }, + }); logTrace("Find guild"); for await (const channel of guild.channels) { - channel.position = await Channel.calculatePosition(channel.id, guild_id); + channel.position = await Channel.calculatePosition(channel.id, guild_id, channelPositionsGuild); } logTrace("Reorder channels"); @@ -359,21 +363,16 @@ export class Member extends BaseClassWithoutId { ).map((member) => member.toPublicMember()); logTrace("Calculate member preview"); - const member = { + const newMember = Member.create({ id: user_id, guild_id, nick: undefined, - roles: [guild_id], // @everyone role joined_at: new Date(), deaf: false, mute: false, pending: false, bio: "", - }; - - const newMember = Member.create({ - ...member, - roles: [Role.create({ id: guild_id })], + roles: [Role.create({ id: guild_id })], // @everyone role // read_state: {}, settings: { guild_id: null,