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
9485739772
1 changed files with 22 additions and 2 deletions
|
@ -18,7 +18,27 @@ class CooldownManager {
|
||||||
user: user ? { connect: { id: user.id } } : undefined,
|
user: user ? { connect: { id: user.id } } : undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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 });
|
await prisma.cooldown.create({ data });
|
||||||
|
}
|
||||||
|
|
||||||
if (guild && user) {
|
if (guild && user) {
|
||||||
logger.verbose(
|
logger.verbose(
|
||||||
|
@ -68,7 +88,7 @@ class CooldownManager {
|
||||||
async checkCooldowns(
|
async checkCooldowns(
|
||||||
cooldownItem: string,
|
cooldownItem: string,
|
||||||
guild: Guild | null,
|
guild: Guild | null,
|
||||||
user: User
|
user: User | null
|
||||||
): Promise<{
|
): Promise<{
|
||||||
guildCooldown: Cooldown | null;
|
guildCooldown: Cooldown | null;
|
||||||
userCooldown: Cooldown | null;
|
userCooldown: Cooldown | null;
|
||||||
|
|
Loading…
Add table
Reference in a new issue