mirror of
https://github.com/spacebarchat/server.git
synced 2026-08-14 09:00:07 +00:00
Message bulk delete: filter input IDs by channel rather than emitting the full input set
This commit is contained in:
@@ -65,12 +65,14 @@ router.post(
|
||||
if (messages.length > maxBulkDelete) throw new HTTPError(`You cannot delete more than ${maxBulkDelete} messages`);
|
||||
}
|
||||
|
||||
await Message.delete({ id: In(messages), channel_id: channel_id });
|
||||
const messageIdsInChannel = (await Message.find({ where: { id: In(messages), channel_id: channel_id }, select: { id: true } })).map((x) => x.id);
|
||||
|
||||
await Message.delete({ id: In(messageIdsInChannel), channel_id: channel_id });
|
||||
|
||||
await emitEvent({
|
||||
event: "MESSAGE_DELETE_BULK",
|
||||
channel_id,
|
||||
data: { ids: messages, channel_id, guild_id: channel.guild_id },
|
||||
data: { ids: messageIdsInChannel, channel_id, guild_id: channel.guild_id },
|
||||
} satisfies MessageDeleteBulkEvent);
|
||||
|
||||
res.sendStatus(204);
|
||||
|
||||
Reference in New Issue
Block a user