diff --git a/package-lock.json b/package-lock.json
index 22484238..dff1862c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1363,7 +1363,7 @@
},
"node_modules/fosscord-server-util": {
"version": "1.0.0",
- "resolved": "git+ssh://git@github.com/fosscord/fosscord-server-util.git#92a6c981ce12f4484509d0388cb1fba2a52b55c4",
+ "resolved": "git+ssh://git@github.com/fosscord/fosscord-server-util.git#371a56859695321bfa862a1c66d27279018cc864",
"license": "ISC",
"dependencies": {
"jsonwebtoken": "^8.5.1",
@@ -5077,7 +5077,7 @@
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fosscord-server-util": {
- "version": "git+ssh://git@github.com/fosscord/fosscord-server-util.git#92a6c981ce12f4484509d0388cb1fba2a52b55c4",
+ "version": "git+ssh://git@github.com/fosscord/fosscord-server-util.git#371a56859695321bfa862a1c66d27279018cc864",
"from": "fosscord-server-util@github:fosscord/fosscord-server-util",
"requires": {
"jsonwebtoken": "^8.5.1",
diff --git a/src/routes/api/v8/guilds/#id/members/index.ts b/src/routes/api/v8/guilds/#id/members/index.ts
index 2f0a6850..9446e2da 100644
--- a/src/routes/api/v8/guilds/#id/members/index.ts
+++ b/src/routes/api/v8/guilds/#id/members/index.ts
@@ -3,6 +3,7 @@ import { GuildModel, MemberModel } from "fosscord-server-util";
import { HTTPError } from "lambert-server";
import { instanceOf, Length } from "../../../../../../util/instanceOf";
import { PublicMemberProjection } from "../../../../../../util/Member";
+import { PublicUserProjection } from "../../../../../../util/User";
const router = Router();
@@ -30,7 +31,7 @@ router.get("/", async (req: Request, res: Response) => {
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();
|