generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id String @id heatLevel Int @default(0) balance Float @default(0.0) roles String[] lastHeatReset DateTime @default(now()) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt tickets Ticket[] heatEvents HeatEvent[] } model HeatEvent { id Int @id @default(autoincrement()) userId String action String timestamp DateTime @default(now()) user User @relation(fields: [userId], references: [id]) @@index([userId, timestamp]) } model Ticket { id Int @id @default(autoincrement()) threadId String @unique userId String type String status String @default("open") transcript String? createdAt DateTime @default(now()) closedAt DateTime? user User @relation(fields: [userId], references: [id]) @@index([userId]) } model GuildConfig { id String @id name String type String statusChannelId String? feedChannelId String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model RoleMapping { id Int @id @default(autoincrement()) sourceGuild String sourceRole String targetGuild String targetRole String roleName String @@unique([sourceGuild, sourceRole, targetGuild]) }