1064a0362b
Captures the existing lovelope.app codebase (Next.js App Router, custom Tailwind components, Prisma) as a rollback point prior to adopting shadcn/ui and a mobile-first redesign. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
65 lines
2.1 KiB
Plaintext
65 lines
2.1 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
binaryTargets = ["native", "linux-musl-openssl-3.0.x"]
|
|
}
|
|
|
|
datasource db {
|
|
provider = "sqlite"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Proposal {
|
|
id String @id @default(cuid())
|
|
slug String @unique
|
|
manageToken String @unique
|
|
senderName String
|
|
recipientName String
|
|
title String
|
|
message String
|
|
theme String @default("sunset")
|
|
gradientFrom String?
|
|
gradientVia String?
|
|
gradientTo String?
|
|
gifUrl String?
|
|
evasiveNo Boolean @default(false)
|
|
status String @default("draft")
|
|
expiresAt DateTime?
|
|
createdAt DateTime @default(now())
|
|
activities ActivityOption[]
|
|
response Response?
|
|
}
|
|
|
|
model ActivityOption {
|
|
id String @id @default(cuid())
|
|
proposalId String
|
|
proposal Proposal @relation(fields: [proposalId], references: [id], onDelete: Cascade)
|
|
title String
|
|
description String?
|
|
emoji String @default("🎉")
|
|
order Int @default(0)
|
|
slots TimeSlot[]
|
|
responses Response[] @relation("SelectedActivity")
|
|
}
|
|
|
|
model TimeSlot {
|
|
id String @id @default(cuid())
|
|
activityOptionId String
|
|
activity ActivityOption @relation(fields: [activityOptionId], references: [id], onDelete: Cascade)
|
|
label String
|
|
startsAt String?
|
|
responses Response[] @relation("SelectedSlot")
|
|
}
|
|
|
|
model Response {
|
|
id String @id @default(cuid())
|
|
proposalId String @unique
|
|
proposal Proposal @relation(fields: [proposalId], references: [id], onDelete: Cascade)
|
|
selectedActivityId String?
|
|
selectedActivity ActivityOption? @relation("SelectedActivity", fields: [selectedActivityId], references: [id])
|
|
selectedTimeSlotId String?
|
|
selectedTimeSlot TimeSlot? @relation("SelectedSlot", fields: [selectedTimeSlotId], references: [id])
|
|
answer String
|
|
note String?
|
|
respondedAt DateTime @default(now())
|
|
}
|