generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id String @id @default(uuid()) username String @unique name String password String photo String? role String @default("user") is_active Boolean @default(true) created_at DateTime @default(now()) updated_at DateTime @updatedAt orders Order[] @relation("CreatedOrders") purchases Submission[] } model Order { id String @id @default(uuid()) title String date DateTime allow_custom Boolean @default(false) status String @default("DRAFT") creator_id String created_at DateTime @default(now()) updated_at DateTime @updatedAt description String? available_items AvailableItem[] creator User @relation("CreatedOrders", fields: [creator_id], references: [id]) submissions Submission[] } model AvailableItem { id String @id @default(uuid()) order_id String name String created_at DateTime @default(now()) updated_at DateTime @updatedAt is_sold_out Boolean @default(false) order Order @relation(fields: [order_id], references: [id], onDelete: Cascade) } model Submission { id String @id @default(uuid()) order_id String user_id String bill Int? payment_status String @default("BELUM_BAYAR") created_at DateTime @default(now()) updated_at DateTime @updatedAt paid_amount Int? order Order @relation(fields: [order_id], references: [id], onDelete: Cascade) user User @relation(fields: [user_id], references: [id], onDelete: Cascade) items SubmissionItem[] } model SubmissionItem { id String @id @default(uuid()) submission_id String name String qty Int @default(1) is_custom Boolean @default(false) created_at DateTime @default(now()) updated_at DateTime @updatedAt submission Submission @relation(fields: [submission_id], references: [id], onDelete: Cascade) } model Setting { key String @id value String updated_at DateTime @updatedAt }