// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema 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 creator User @relation("CreatedOrders", fields: [creator_id], references: [id]) available_items AvailableItem[] submissions Submission[] created_at DateTime @default(now()) updated_at DateTime @updatedAt } model AvailableItem { id String @id @default(uuid()) order_id String name String order Order @relation(fields: [order_id], references: [id], onDelete: Cascade) created_at DateTime @default(now()) updated_at DateTime @updatedAt } model Submission { id String @id @default(uuid()) order_id String user_id String bill Int? payment_status String @default("BELUM_BAYAR") order Order @relation(fields: [order_id], references: [id], onDelete: Cascade) user User @relation(fields: [user_id], references: [id], onDelete: Cascade) items SubmissionItem[] created_at DateTime @default(now()) updated_at DateTime @updatedAt } model SubmissionItem { id String @id @default(uuid()) submission_id String name String qty Int @default(1) is_custom Boolean @default(false) submission Submission @relation(fields: [submission_id], references: [id], onDelete: Cascade) created_at DateTime @default(now()) updated_at DateTime @updatedAt }