From b5e63c06b684e00f63c70e3e8347e9c49da6c02e Mon Sep 17 00:00:00 2001 From: Rory& Date: Sat, 14 Mar 2026 03:26:26 +0100 Subject: Qodana: fix async warnings --- .../routes/applications/#application_id/bot/index.ts | 2 +- .../channels/#channel_id/messages/#message_id/index.ts | 4 ++-- .../#channel_id/messages/#message_id/threads.ts | 2 +- src/api/routes/channels/#channel_id/threads.ts | 2 +- .../routes/connections/#connection_name/authorize.ts | 2 +- .../routes/connections/#connection_name/callback.ts | 2 +- src/api/routes/guilds/#guild_id/messages/search.ts | 2 +- src/api/routes/guilds/#guild_id/widget.png.ts | 18 +++++++++--------- .../#interaction_id/#interaction_token/callback.ts | 2 +- src/api/routes/interactions/index.ts | 4 ++-- src/api/routes/users/@me/guilds/#guild_id/settings.ts | 3 ++- src/api/routes/users/@me/notes.ts | 4 ++-- 12 files changed, 24 insertions(+), 23 deletions(-) (limited to 'src/api/routes') diff --git a/src/api/routes/applications/#application_id/bot/index.ts b/src/api/routes/applications/#application_id/bot/index.ts index 47b8a729..a5eb3127 100644 --- a/src/api/routes/applications/#application_id/bot/index.ts +++ b/src/api/routes/applications/#application_id/bot/index.ts @@ -122,7 +122,7 @@ router.patch( app.bot.assign(body); - app.bot.save(); + await app.bot.save(); await app.save(); res.json(app).status(200); diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts index c0569124..96ff98e1 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts @@ -113,7 +113,7 @@ router.patch( } as MessageUpdateEvent), ]); - postHandleMessage(new_message); + postHandleMessage(new_message).catch((e) => console.error("[Message] post-message handler failed", e)); // TODO: a DTO? return res.json({ @@ -295,7 +295,7 @@ router.delete( }); if (channel.type === ChannelType.GUILD_PUBLIC_THREAD) { if (channel.message_count !== undefined) channel.message_count--; - channel.save(); //Save async, it's fine + await channel.save(); } const message = await Message.findOneOrFail({ where: { id: message_id }, diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts index eb375e5d..7bb119df 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts @@ -89,7 +89,7 @@ router.post( }, author_id: user.id, }); - sendMessage({ + await sendMessage({ channel_id: channel.id, type: MessageType.THREAD_CREATED, content: thread.name, diff --git a/src/api/routes/channels/#channel_id/threads.ts b/src/api/routes/channels/#channel_id/threads.ts index 9d10cb17..22b29e52 100644 --- a/src/api/routes/channels/#channel_id/threads.ts +++ b/src/api/routes/channels/#channel_id/threads.ts @@ -126,7 +126,7 @@ router.post( }), ]); if (body.type !== ChannelType.GUILD_PRIVATE_THREAD && !channel.isForum()) - sendMessage({ + await sendMessage({ channel_id: channel.id, type: MessageType.THREAD_CREATED, content: thread.name, diff --git a/src/api/routes/connections/#connection_name/authorize.ts b/src/api/routes/connections/#connection_name/authorize.ts index ca56bbe3..b74fd861 100644 --- a/src/api/routes/connections/#connection_name/authorize.ts +++ b/src/api/routes/connections/#connection_name/authorize.ts @@ -43,7 +43,7 @@ router.get("/", route({}), async (req: Request, res: Response) => { }); res.json({ - url: await connection.getAuthorizationUrl(req.user_id), + url: connection.getAuthorizationUrl(req.user_id), }); }); diff --git a/src/api/routes/connections/#connection_name/callback.ts b/src/api/routes/connections/#connection_name/callback.ts index 2f6a25a0..7fc72530 100644 --- a/src/api/routes/connections/#connection_name/callback.ts +++ b/src/api/routes/connections/#connection_name/callback.ts @@ -49,7 +49,7 @@ router.post("/", route({ requestBody: "ConnectionCallbackSchema" }), async (req: // whether we should emit a connections update event, only used when a connection doesnt already exist if (connectedAccnt) - emitEvent({ + await emitEvent({ event: "USER_CONNECTIONS_UPDATE", data: { ...connectedAccnt, token_data: undefined }, user_id: userId, diff --git a/src/api/routes/guilds/#guild_id/messages/search.ts b/src/api/routes/guilds/#guild_id/messages/search.ts index eb9ecd6d..601d39d6 100644 --- a/src/api/routes/guilds/#guild_id/messages/search.ts +++ b/src/api/routes/guilds/#guild_id/messages/search.ts @@ -68,7 +68,7 @@ router.get( } if (channel_id) { const ids = new Set(channel_id instanceof Array ? channel_id : [channel_id]); - Promise.all( + await Promise.all( [...ids].map(async (id) => { const permissions = await getPermission(req.user_id, req.params.guild_id as string, id); permissions.hasThrow("VIEW_CHANNEL"); diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts index c1382c90..875761e6 100644 --- a/src/api/routes/guilds/#guild_id/widget.png.ts +++ b/src/api/routes/guilds/#guild_id/widget.png.ts @@ -83,27 +83,27 @@ router.get( switch (style) { case "shield": ctx.textAlign = "center"; - await drawText(ctx, 73, 13, "#FFFFFF", "thin 10px Verdana", presence); + drawText(ctx, 73, 13, "#FFFFFF", "thin 10px Verdana", presence); break; case "banner1": if (icon) await drawIcon(ctx, 20, 27, 50, icon); - await drawText(ctx, 83, 51, "#FFFFFF", "12px Verdana", name, 22); - await drawText(ctx, 83, 66, "#C9D2F0FF", "thin 11px Verdana", presence); + drawText(ctx, 83, 51, "#FFFFFF", "12px Verdana", name, 22); + drawText(ctx, 83, 66, "#C9D2F0FF", "thin 11px Verdana", presence); break; case "banner2": if (icon) await drawIcon(ctx, 13, 19, 36, icon); - await drawText(ctx, 62, 34, "#FFFFFF", "12px Verdana", name, 15); - await drawText(ctx, 62, 49, "#C9D2F0FF", "thin 11px Verdana", presence); + drawText(ctx, 62, 34, "#FFFFFF", "12px Verdana", name, 15); + drawText(ctx, 62, 49, "#C9D2F0FF", "thin 11px Verdana", presence); break; case "banner3": if (icon) await drawIcon(ctx, 20, 20, 50, icon); - await drawText(ctx, 83, 44, "#FFFFFF", "12px Verdana", name, 27); - await drawText(ctx, 83, 58, "#C9D2F0FF", "thin 11px Verdana", presence); + drawText(ctx, 83, 44, "#FFFFFF", "12px Verdana", name, 27); + drawText(ctx, 83, 58, "#C9D2F0FF", "thin 11px Verdana", presence); break; case "banner4": if (icon) await drawIcon(ctx, 21, 136, 50, icon); - await drawText(ctx, 84, 156, "#FFFFFF", "13px Verdana", name, 27); - await drawText(ctx, 84, 171, "#C9D2F0FF", "thin 12px Verdana", presence); + drawText(ctx, 84, 156, "#FFFFFF", "13px Verdana", name, 27); + drawText(ctx, 84, 171, "#C9D2F0FF", "thin 12px Verdana", presence); break; default: throw new HTTPError("Value must be one of ('shield', 'banner1', 'banner2', 'banner3', 'banner4').", 400); diff --git a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts index 3734a12e..8ad56ff9 100644 --- a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts +++ b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts @@ -77,7 +77,7 @@ router.post("/", route({}), async (req: Request, res: Response) => { clearTimeout(interaction.timeout); - emitEvent({ + await emitEvent({ event: "INTERACTION_SUCCESS", user_id: interaction?.userId, data: { diff --git a/src/api/routes/interactions/index.ts b/src/api/routes/interactions/index.ts index b69f4d37..585267e9 100644 --- a/src/api/routes/interactions/index.ts +++ b/src/api/routes/interactions/index.ts @@ -32,7 +32,7 @@ router.post("/", route({}), async (req: Request, res: Response) => { const interactionId = Snowflake.generate(); const interactionToken = randomBytes(24).toString("base64url"); - emitEvent({ + await emitEvent({ event: "INTERACTION_CREATE", user_id: req.user_id, data: { @@ -94,7 +94,7 @@ router.post("/", route({}), async (req: Request, res: Response) => { interactionData.message = await Message.findOneOrFail({ where: { id: body.message_id, flags: undefined }, relations: { author: true } }); } - emitEvent({ + await emitEvent({ event: "INTERACTION_CREATE", user_id: body.application_id, data: interactionData, diff --git a/src/api/routes/users/@me/guilds/#guild_id/settings.ts b/src/api/routes/users/@me/guilds/#guild_id/settings.ts index 083d5024..72ba0773 100644 --- a/src/api/routes/users/@me/guilds/#guild_id/settings.ts +++ b/src/api/routes/users/@me/guilds/#guild_id/settings.ts @@ -59,8 +59,9 @@ router.patch( const body = req.body as UserGuildSettingsSchema; if (body.channel_overrides) { + // TODO: rewrite to a single query? for (const channel in body.channel_overrides) { - Channel.findOneOrFail({ where: { id: channel } }); + await Channel.findOneOrFail({ where: { id: channel } }); } } diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts index 0b174791..3fe1682e 100644 --- a/src/api/routes/users/@me/notes.ts +++ b/src/api/routes/users/@me/notes.ts @@ -79,9 +79,9 @@ router.put( }, }) ) { - Note.update({ owner: { id: owner.id }, target: { id: target.id } }, { owner, target, content: note }); + await Note.update({ owner: { id: owner.id }, target: { id: target.id } }, { owner, target, content: note }); } else { - Note.insert({ + await Note.insert({ id: Snowflake.generate(), owner, target, -- cgit 1.5.1