summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-09-28 23:52:36 +0200
committerRory& <root@rory.gay>2025-09-29 18:38:06 +0200
commit364a98f71abc7af99115f6778d427d67759acc31 (patch)
treec441538508eb1f1d65beb58859618cb1c0ad022e /src/api
parentMore relations (diff)
downloadserver-ts-364a98f71abc7af99115f6778d427d67759acc31.tar.xz
Polyfill referenced message
Diffstat (limited to 'src/api')
-rw-r--r--src/api/routes/channels/#channel_id/messages/index.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts

index 46c0cf98..de38dd19 100644 --- a/src/api/routes/channels/#channel_id/messages/index.ts +++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -231,6 +231,18 @@ router.get( return x; }); + + // polyfill message references for old messages + await ret.filter((msg) => msg.message_reference && !msg.referenced_message?.id).forEachAsync(async (msg) => { + const whereOptions: { id: string; guild_id?: string; channel_id?: string } = { + id: msg.message_reference!.message_id, + }; + if (msg.message_reference!.guild_id) whereOptions.guild_id = msg.message_reference!.guild_id; + if (msg.message_reference!.channel_id) whereOptions.channel_id = msg.message_reference!.channel_id; + + msg.referenced_message = await Message.findOneOrFail({ where: whereOptions, relations: ["author", "mentions", "mention_roles", "mention_channels"] }); + }); + return res.json(ret); }, );