generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" url = env("DATABASE_URL") } model User { id String @id @default(cuid()) email String @unique passwordHash String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt sessions Session[] resetTokens PasswordResetToken[] } model Session { id String @id @default(cuid()) sessionToken String @unique userId String expiresAt DateTime user User @relation(fields: [userId], references: [id], onDelete: Cascade) } model PasswordResetToken { id String @id @default(cuid()) token String @unique userId String expiresAt DateTime used Boolean @default(false) user User @relation(fields: [userId], references: [id], onDelete: Cascade) } model Order { id String @id @default(cuid()) title String status String @default("pending") notes String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt customers OrderCustomer[] items OrderItem[] } model Customer { id String @id @default(cuid()) name String @unique createdAt DateTime @default(now()) orders OrderCustomer[] items OrderItem[] } model OrderCustomer { orderId String customerId String order Order @relation(fields: [orderId], references: [id], onDelete: Cascade) customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) @@id([orderId, customerId]) } model OrderItem { id String @id @default(cuid()) orderId String customerId String? itemName String initPrice Float @default(0) myPrice Float @default(0) taxRatio Float @default(0.16) quantity Int @default(1) netPrice Float @default(0) myNetPrice Float @default(0) finalPrice Float @default(0) order Order @relation(fields: [orderId], references: [id], onDelete: Cascade) customer Customer? @relation(fields: [customerId], references: [id], onDelete: SetNull) }