From 9485739772a783a12c7a1df4c5ddeb28e1341815 Mon Sep 17 00:00:00 2001 From: Vermium Sifell Date: Mon, 29 May 2023 20:53:57 +0200 Subject: [PATCH 1/2] fix: :zap: fix duplicate rows The bot created new cooldowns instead of updating old ones, this commit fixes this by doing an updateMany if it finds a cooldown instead of just creating new ones --- src/handlers/CooldownManager.ts | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/handlers/CooldownManager.ts b/src/handlers/CooldownManager.ts index bb66abd..b291a5b 100644 --- a/src/handlers/CooldownManager.ts +++ b/src/handlers/CooldownManager.ts @@ -18,7 +18,27 @@ class CooldownManager { user: user ? { connect: { id: user.id } } : undefined, }; - await prisma.cooldown.create({ data }); + const { guildCooldown, guildMemberCooldown, userCooldown } = + await this.checkCooldowns(cooldownItem, guild, user); + + if (guildCooldown || guildMemberCooldown || userCooldown) { + await prisma.cooldown.updateMany({ + where: { + cooldownItem, + expiresAt, + guild: guild ? { id: guild.id } : undefined, + user: user ? { id: user.id } : undefined, + }, + data: { + cooldownItem, + expiresAt, + guildId: guild ? guild.id : undefined, + userId: user ? user.id : undefined, + }, + }); + } else { + await prisma.cooldown.create({ data }); + } if (guild && user) { logger.verbose( @@ -68,7 +88,7 @@ class CooldownManager { async checkCooldowns( cooldownItem: string, guild: Guild | null, - user: User + user: User | null ): Promise<{ guildCooldown: Cooldown | null; userCooldown: Cooldown | null; From 46e6242ae719f846908ae2385bd50f60f2b543ff Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 29 May 2023 19:03:41 +0000 Subject: [PATCH 2/2] chore(release): 2.1.1-dev.1 [skip ci] ## [2.1.1-dev.1](https://github.com/ZynerOrg/xyter/compare/v2.1.0...v2.1.1-dev.1) (2023-05-29) ### Bug Fixes * :zap: fix duplicate rows ([9485739](https://github.com/ZynerOrg/xyter/commit/9485739772a783a12c7a1df4c5ddeb28e1341815)) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ba181a..c13dd4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "xyter", - "version": "2.1.0", + "version": "2.1.1-dev.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "xyter", - "version": "2.1.0", + "version": "2.1.1-dev.1", "license": "GPL-3.0-only", "dependencies": { "@prisma/client": "^4.7.1", diff --git a/package.json b/package.json index 54f7903..932f579 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xyter", - "version": "2.1.0", + "version": "2.1.1-dev.1", "private": true, "description": "A multi purpose Discord bot written in TypeScript with Discord.js", "main": "dist/index.js",