From 5c11bf1b87fdd150ba4caf3f6276c01014558b71 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Tue, 23 Feb 2021 22:02:50 +0100 Subject: [PATCH] :bug: [Member] list fix to also return user --- package-lock.json | Bin 247306 -> 247306 bytes src/routes/api/v8/guilds/#id/members/index.ts | 8 +++++--- src/util/Member.ts | 2 +- src/util/User.ts | 14 +++++++++----- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 22484238b9d2c660ad435dbd2748bc54175c3878..dff1862cea7e0aae0ba57f24896c55f9c6e051e2 100644 GIT binary patch delta 113 zcmeC`;qU6<-|%3orm?wUqN$mMsim2vsj-n^Qd**gnNgx)vYAtVREXWQJRT~g^8(wWr~5Zg++3bVOmn6QKG3)lBsF3 hiPFS { var members = await MemberModel.find({ guild_id, ...query }, PublicMemberProjection) .limit(limit) - .populate("user") + .populate({ path: "user", select: PublicUserProjection }) .exec(); return res.json(members); @@ -40,9 +41,10 @@ router.get("/:member", async (req: Request, res: Response) => { const guild_id = BigInt(req.params.id); const user_id = BigInt(req.params.member); - const member = await MemberModel.findOne({ id: user_id, guild_id }).populate("user").exec(); + const member = await MemberModel.findOne({ id: user_id, guild_id }) + .populate({ path: "user", select: PublicUserProjection }) + .exec(); if (!member) throw new HTTPError("Member not found", 404); - console.log(member.user); return res.json(member); }); diff --git a/src/util/Member.ts b/src/util/Member.ts index f3097828..2df34073 100644 --- a/src/util/Member.ts +++ b/src/util/Member.ts @@ -34,7 +34,7 @@ export async function addMember(user_id: bigint, guild_id: bigint, cache?: { gui const { maxGuilds } = Config.get().limits.user; if (guildSize >= maxGuilds) { - throw new HTTPError(` You are at the ${maxGuilds} server limit.`, 403); + throw new HTTPError(`You are at the ${maxGuilds} server limit.`, 403); } const guild = cache?.guild || (await GuildModel.findOne({ id: guild_id }).exec()); diff --git a/src/util/User.ts b/src/util/User.ts index 778730e2..1b13e153 100644 --- a/src/util/User.ts +++ b/src/util/User.ts @@ -1,15 +1,19 @@ import { UserModel } from "fosscord-server-util"; import { HTTPError } from "lambert-server"; +export const PublicUserProjection = { + username: true, + discriminator: true, + id: true, + public_flags: true, + avatar: true, +}; + export async function getPublicUser(user_id: bigint, additional_fields?: any) { const user = await UserModel.findOne( { id: user_id }, { - username: true, - discriminator: true, - id: true, - public_flags: true, - avatar: true, + ...PublicUserProjection, ...additional_fields, } ).exec();