feat: bootstrap TitipIn application with fullstack architecture, Prisma ORM, and shadcn/ui components
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
// 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
|
||||
name String @unique
|
||||
photo String?
|
||||
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[]
|
||||
}
|
||||
|
||||
model AvailableItem {
|
||||
id String @id @default(uuid())
|
||||
order_id String
|
||||
name String
|
||||
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")
|
||||
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)
|
||||
submission Submission @relation(fields: [submission_id], references: [id], onDelete: Cascade)
|
||||
}
|
||||
Reference in New Issue
Block a user