diff --git "a/src/api/routes/channels/\043channel_id/messages/\043message_id/reactions.ts" "b/src/api/routes/channels/\043channel_id/messages/\043message_id/reactions.ts" index e0a5166..cb66cd6 100644 --- "a/src/api/routes/channels/\043channel_id/messages/\043message_id/reactions.ts" +++ "b/src/api/routes/channels/\043channel_id/messages/\043message_id/reactions.ts" @@ -28,6 +28,7 @@ MessageReactionRemoveEmojiEvent, MessageReactionRemoveEvent, PartialEmoji, + PublicMemberProjection, PublicUserProjection, User, } from "@spacebar/util"; @@ -192,7 +193,12 @@ const member = channel.guild_id && - (await Member.findOneOrFail({ where: { id: req.user_id } })); + ( + await Member.findOneOrFail({ + where: { id: req.user_id }, + select: PublicMemberProjection, + }) + ).toPublicMember(); await emitEvent({ event: "MESSAGE_REACTION_ADD", @@ -249,7 +255,10 @@ if (already_added.count <= 0) message.reactions.remove(already_added); else - already_added.user_ids.splice(already_added.user_ids.indexOf(user_id), 1); + already_added.user_ids.splice( + already_added.user_ids.indexOf(user_id), + 1, + ); await message.save(); diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts index 13e74dc..cd885c1 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts @@ -440,6 +440,15 @@ ]); } } + + toPublicMember() { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const member: any = {}; + PublicMemberProjection.forEach((x) => { + member[x] = this[x]; + }); + return member as PublicMember; + } } export interface ChannelOverride {