generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" url = env("DATABASE_URL") } model User { id Int @id @default(autoincrement()) username String @unique passwordHash String balance Int @default(0) role String @default("user") createdAt DateTime @default(now()) inventory InventoryItem[] transactions Transaction[] } model Case { id Int @id @default(autoincrement()) name String imageUrl String @default("") price Int active Boolean @default(true) createdAt DateTime @default(now()) items CaseItem[] } model Item { id Int @id @default(autoincrement()) name String imageUrl String @default("") rarity String marketValue Int createdAt DateTime @default(now()) cases CaseItem[] inventory InventoryItem[] } model CaseItem { id Int @id @default(autoincrement()) caseId Int itemId Int dropRate Float case Case @relation(fields: [caseId], references: [id], onDelete: Cascade) item Item @relation(fields: [itemId], references: [id], onDelete: Cascade) @@unique([caseId, itemId]) } model InventoryItem { id Int @id @default(autoincrement()) userId Int itemId Int obtainedAt DateTime @default(now()) user User @relation(fields: [userId], references: [id], onDelete: Cascade) item Item @relation(fields: [itemId], references: [id], onDelete: Cascade) } model Transaction { id Int @id @default(autoincrement()) userId Int type String amount Int meta String @default("{}") createdAt DateTime @default(now()) user User @relation(fields: [userId], references: [id], onDelete: Cascade) }