Add custom YCH typs for commission page

This commit is contained in:
2026-02-01 16:08:08 +01:00
parent 1940867519
commit aa95635e3e
6 changed files with 364 additions and 14 deletions

View File

@ -271,6 +271,26 @@ model CommissionType {
requests CommissionRequest[]
}
model CommissionCustomCard {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sortIndex Int @default(0)
name String
description String?
referenceImageUrl String?
isVisible Boolean @default(true)
isSpecialOffer Boolean @default(false)
options CommissionCustomCardOption[]
extras CommissionCustomCardExtra[]
requests CommissionRequest[]
@@index([isVisible, sortIndex])
}
model CommissionOption {
id String @id @default(cuid())
createdAt DateTime @default(now())
@ -282,6 +302,7 @@ model CommissionOption {
description String?
types CommissionTypeOption[]
customCards CommissionCustomCardOption[]
requests CommissionRequest[]
}
@ -316,6 +337,7 @@ model CommissionExtra {
requests CommissionRequest[]
types CommissionTypeExtra[]
customCards CommissionCustomCardExtra[]
}
model CommissionTypeExtra {
@ -337,6 +359,25 @@ model CommissionTypeExtra {
@@unique([typeId, extraId])
}
model CommissionCustomCardOption {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sortIndex Int @default(0)
cardId String
optionId String
priceRange String?
pricePercent Float?
price Float?
card CommissionCustomCard @relation(fields: [cardId], references: [id], onDelete: Cascade)
option CommissionOption @relation(fields: [optionId], references: [id])
@@unique([cardId, optionId])
}
model CommissionCustomInput {
id String @id @default(cuid())
createdAt DateTime @default(now())
@ -368,6 +409,25 @@ model CommissionTypeCustomInput {
@@unique([typeId, customInputId])
}
model CommissionCustomCardExtra {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sortIndex Int @default(0)
cardId String
extraId String
priceRange String?
pricePercent Float?
price Float?
card CommissionCustomCard @relation(fields: [cardId], references: [id], onDelete: Cascade)
extra CommissionExtra @relation(fields: [extraId], references: [id])
@@unique([cardId, extraId])
}
model CommissionRequest {
id String @id @default(cuid())
index Int @default(autoincrement())
@ -386,8 +446,10 @@ model CommissionRequest {
optionId String?
typeId String?
customCardId String?
option CommissionOption? @relation(fields: [optionId], references: [id])
type CommissionType? @relation(fields: [typeId], references: [id])
customCard CommissionCustomCard? @relation(fields: [customCardId], references: [id])
extras CommissionExtra[]
files CommissionRequestFile[]