i try to create multiple records in the model guild in ticket. It is a database which includes all active open tickets from a guild.
But if i want to create a second record because a second ticket was opend it only updates the already exist entry in ticket but i want to create a new one.
I dont know what in doing wrong at the moment, and looking for help please…
<code>async function storeTicketData(guildId, ticketChannelID, ticketData) {
try {
await prisma.ticket.create({
data: {
guild: {
connect: { guildId: guildId.toString() }
},
ticketId: ticketData.ticketId || 0,
channel: BigInt(ticketChannelID),
owner: BigInt(ticketData.ticketOwner),
state: ticketData.state || 'open',
claimedBy: ticketData.claimedBy || null,
addedUsers: ticketData.addedUsers || [],
interactions: ticketData.interactions || [],
history: ticketData.history || [],
timer: ticketData.timer || false,
timerEnd: ticketData.timerEnd || null,
transcriptPermissions: ticketData.transcriptPermissions || ["private"],
transcriptUrl: ticketData.transcriptUrl || "",
panelId: ticketData.ticketPanelId,
}
});
} catch (error) {
if (error.code === 'P2002') {
console.error('Ticket with channel-id already exist in ticket database:', error);
} else {
console.error('Error on saving ticket to ticket database:', error);
}
}
}
</code>
<code>async function storeTicketData(guildId, ticketChannelID, ticketData) {
try {
await prisma.ticket.create({
data: {
guild: {
connect: { guildId: guildId.toString() }
},
ticketId: ticketData.ticketId || 0,
channel: BigInt(ticketChannelID),
owner: BigInt(ticketData.ticketOwner),
state: ticketData.state || 'open',
claimedBy: ticketData.claimedBy || null,
addedUsers: ticketData.addedUsers || [],
interactions: ticketData.interactions || [],
history: ticketData.history || [],
timer: ticketData.timer || false,
timerEnd: ticketData.timerEnd || null,
transcriptPermissions: ticketData.transcriptPermissions || ["private"],
transcriptUrl: ticketData.transcriptUrl || "",
panelId: ticketData.ticketPanelId,
}
});
} catch (error) {
if (error.code === 'P2002') {
console.error('Ticket with channel-id already exist in ticket database:', error);
} else {
console.error('Error on saving ticket to ticket database:', error);
}
}
}
</code>
async function storeTicketData(guildId, ticketChannelID, ticketData) {
try {
await prisma.ticket.create({
data: {
guild: {
connect: { guildId: guildId.toString() }
},
ticketId: ticketData.ticketId || 0,
channel: BigInt(ticketChannelID),
owner: BigInt(ticketData.ticketOwner),
state: ticketData.state || 'open',
claimedBy: ticketData.claimedBy || null,
addedUsers: ticketData.addedUsers || [],
interactions: ticketData.interactions || [],
history: ticketData.history || [],
timer: ticketData.timer || false,
timerEnd: ticketData.timerEnd || null,
transcriptPermissions: ticketData.transcriptPermissions || ["private"],
transcriptUrl: ticketData.transcriptUrl || "",
panelId: ticketData.ticketPanelId,
}
});
} catch (error) {
if (error.code === 'P2002') {
console.error('Ticket with channel-id already exist in ticket database:', error);
} else {
console.error('Error on saving ticket to ticket database:', error);
}
}
}
<code>model Guild {
id Int @id @default(autoincrement())
guildId String @unique
locale String @default("en-US")
createdAt DateTime @default(now())
updatedAt DateTime? @updatedAt
TicketModule TicketModule[]
Tickets Ticket[]
StatisticsModule StatisticsModule[]
GuildMemberAdd GuildMemberAdd[]
GuildMemberLeave GuildMemberLeave[]
GuildMemberKick GuildMemberKick[]
GuildMemberBan GuildMemberBan[]
GuildStatistics GuildStatistics[]
@@schema("public")
}
</code>
<code>model Guild {
id Int @id @default(autoincrement())
guildId String @unique
locale String @default("en-US")
createdAt DateTime @default(now())
updatedAt DateTime? @updatedAt
TicketModule TicketModule[]
Tickets Ticket[]
StatisticsModule StatisticsModule[]
GuildMemberAdd GuildMemberAdd[]
GuildMemberLeave GuildMemberLeave[]
GuildMemberKick GuildMemberKick[]
GuildMemberBan GuildMemberBan[]
GuildStatistics GuildStatistics[]
@@schema("public")
}
</code>
model Guild {
id Int @id @default(autoincrement())
guildId String @unique
locale String @default("en-US")
createdAt DateTime @default(now())
updatedAt DateTime? @updatedAt
TicketModule TicketModule[]
Tickets Ticket[]
StatisticsModule StatisticsModule[]
GuildMemberAdd GuildMemberAdd[]
GuildMemberLeave GuildMemberLeave[]
GuildMemberKick GuildMemberKick[]
GuildMemberBan GuildMemberBan[]
GuildStatistics GuildStatistics[]
@@schema("public")
}
<code>model Ticket {
id String @id @default(uuid())
ticketId BigInt
panelId String
guild Guild @relation(fields: [guildId], references: [id])
guildId Int
owner BigInt
channel BigInt @unique
state String @default("open")
claimedBy BigInt?
addedUsers Int[]
interactions Json[] // buttons modals etc
history Json[] // messages etc
timer Boolean
timerEnd DateTime?
transcriptPermissions String[] @default(["private"]) // public, private, role, user
transcriptUrl String? @default("")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@schema("tickets")
}
</code>
<code>model Ticket {
id String @id @default(uuid())
ticketId BigInt
panelId String
guild Guild @relation(fields: [guildId], references: [id])
guildId Int
owner BigInt
channel BigInt @unique
state String @default("open")
claimedBy BigInt?
addedUsers Int[]
interactions Json[] // buttons modals etc
history Json[] // messages etc
timer Boolean
timerEnd DateTime?
transcriptPermissions String[] @default(["private"]) // public, private, role, user
transcriptUrl String? @default("")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@schema("tickets")
}
</code>
model Ticket {
id String @id @default(uuid())
ticketId BigInt
panelId String
guild Guild @relation(fields: [guildId], references: [id])
guildId Int
owner BigInt
channel BigInt @unique
state String @default("open")
claimedBy BigInt?
addedUsers Int[]
interactions Json[] // buttons modals etc
history Json[] // messages etc
timer Boolean
timerEnd DateTime?
transcriptPermissions String[] @default(["private"]) // public, private, role, user
transcriptUrl String? @default("")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@schema("tickets")
}