diff --git a/backend/src/api/controllers/user.ts b/backend/src/api/controllers/user.ts index a1fcacdcc..0c3e62fac 100644 --- a/backend/src/api/controllers/user.ts +++ b/backend/src/api/controllers/user.ts @@ -652,6 +652,7 @@ export async function linkDiscord( const userInfo = await UserDAL.getPartialUser(uid, "link discord", [ "banned", "discordId", + "lbOptOut", ]); if (userInfo.banned) { throw new MonkeyError(403, "Banned accounts cannot link with Discord"); @@ -690,7 +691,7 @@ export async function linkDiscord( await UserDAL.linkDiscord(uid, discordId, discordAvatar); - await GeorgeQueue.linkDiscord(discordId, uid); + await GeorgeQueue.linkDiscord(discordId, uid, userInfo.lbOptOut ?? false); void addImportantLog("user_discord_link", `linked to ${discordId}`, uid); return new MonkeyResponse("Discord account linked", { diff --git a/backend/src/queues/george-queue.ts b/backend/src/queues/george-queue.ts index fb85733b7..4e8d59942 100644 --- a/backend/src/queues/george-queue.ts +++ b/backend/src/queues/george-queue.ts @@ -30,9 +30,17 @@ class GeorgeQueue extends MonkeyQueue { await this.add(taskName, updateDiscordRoleTask); } - async linkDiscord(discordId: string, uid: string): Promise { + async linkDiscord( + discordId: string, + uid: string, + lbOptOut: boolean + ): Promise { const taskName = "linkDiscord"; - const linkDiscordTask = buildGeorgeTask(taskName, [discordId, uid]); + const linkDiscordTask = buildGeorgeTask(taskName, [ + discordId, + uid, + lbOptOut, + ]); await this.add(taskName, linkDiscordTask); }