summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2023-06-11 00:27:38 +1000
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2023-06-11 00:27:38 +1000
commit6e47b8e0b345ed064b5bdd8e16bd4d48ca9c9cd8 (patch)
tree2b92ed44e855160b2e580b0db57ad8de473a20e3 /src/api
parentReturn entire guild object in POST /guilds (diff)
downloadserver-6e47b8e0b345ed064b5bdd8e16bd4d48ca9c9cd8.tar.xz
Send user and roles id array in GET /guilds/:id/members/:id
Diffstat (limited to '')
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/index.ts25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts

index 5f1f6fa7..cafb922e 100644 --- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts +++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
@@ -27,6 +27,8 @@ import { handleFile, Member, MemberChangeSchema, + PublicMemberProjection, + PublicUserProjection, Role, Sticker, } from "@spacebar/util"; @@ -39,7 +41,7 @@ router.get( route({ responses: { 200: { - body: "Member", + body: "APIPublicMember", }, 403: { body: "APIErrorResponse", @@ -55,9 +57,28 @@ router.get( const member = await Member.findOneOrFail({ where: { id: member_id, guild_id }, + relations: ["roles", "user"], + select: { + index: true, + // only grab public member props + ...Object.fromEntries( + PublicMemberProjection.map((x) => [x, true]), + ), + // and public user props + user: Object.fromEntries( + PublicUserProjection.map((x) => [x, true]), + ), + roles: { + id: true, + }, + }, }); - return res.json(member); + return res.json({ + ...member.toPublicMember(), + user: member.user.toPublicUser(), + roles: member.roles.map((x) => x.id), + }); }, );