Kanban shenanigans

This commit is contained in:
2025-07-05 10:08:09 +02:00
parent a12a8e4e1b
commit 75623f37bc
13 changed files with 674 additions and 11 deletions

View File

@ -13,3 +13,84 @@ datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id String @id @default(cuid())
email String @unique
name String?
role Role @default(ADMIN)
createdAt DateTime @default(now())
}
enum Role {
ADMIN
ARTIST
}
model CommissionType {
id String @id @default(cuid())
title String
description String?
basePrice Float
deliveryEst String? // e.g. "2 weeks"
tags String[] // e.g. shaded, sketch, full-body
active Boolean @default(true)
createdAt DateTime @default(now())
CommissionRequest CommissionRequest[]
}
model CommissionRequest {
id String @id @default(cuid())
name String
email String
message String
typeId String
status RequestStatus @default(PENDING)
createdAt DateTime @default(now())
type CommissionType @relation(fields: [typeId], references: [id])
}
enum RequestStatus {
PENDING
ACCEPTED
IN_PROGRESS
DONE
REJECTED
}
model Artwork {
id String @id @default(cuid())
title String
imageUrl String
description String?
tags String[]
formats String[]
isPublic Boolean @default(true)
groupId String?
createdAt DateTime @default(now())
group PresentationGroup? @relation(fields: [groupId], references: [id])
}
model PresentationGroup {
id String @id @default(cuid())
name String
description String?
createdAt DateTime @default(now())
Artwork Artwork[]
}
model Preferences {
id String @id @default(cuid())
commissionOpen Boolean @default(true)
defaultDelivery String? // e.g. "7 days"
autoReplyMessage String?
notifyByEmail Boolean @default(true)
}
model TOS {
id String @id @default(cuid())
content String // Markdown or rich text
createdAt DateTime @default(now())
}