fix: ⚡ 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
This commit is contained in:
parent
f5f68a0a96
commit
2c8acb380e
1 changed files with 22 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue