Add consented social milestone posting
This commit is contained in:
@@ -89,6 +89,12 @@ model User {
|
||||
accounts Account[]
|
||||
sessions Session[]
|
||||
lifecycleLogs UserLifecycleLog[]
|
||||
socialMilestones SocialMilestone[]
|
||||
|
||||
// Social-success sharing preferences. A post is still never published
|
||||
// without a per-milestone approval stored below.
|
||||
xHandle String?
|
||||
socialPromptOptOut Boolean @default(false)
|
||||
}
|
||||
|
||||
enum Plan {
|
||||
@@ -148,11 +154,37 @@ model QRCode {
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
scans QRScan[]
|
||||
socialMilestones SocialMilestone[]
|
||||
|
||||
@@index([userId, createdAt])
|
||||
@@index([userId, type, status])
|
||||
}
|
||||
|
||||
model SocialMilestone {
|
||||
id String @id @default(cuid())
|
||||
qrId String
|
||||
userId String
|
||||
kind String
|
||||
status String @default("detected")
|
||||
detectedAt DateTime @default(now())
|
||||
shownAt DateTime?
|
||||
respondedAt DateTime?
|
||||
claimedAt DateTime?
|
||||
postedAt DateTime?
|
||||
withName Boolean @default(false)
|
||||
consentText String?
|
||||
language String @default("en")
|
||||
cardData Json?
|
||||
|
||||
qr QRCode @relation(fields: [qrId], references: [id], onDelete: Cascade)
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@unique([qrId, kind])
|
||||
@@index([status, respondedAt])
|
||||
@@index([status, claimedAt])
|
||||
@@index([userId, status])
|
||||
}
|
||||
|
||||
enum QRType {
|
||||
STATIC
|
||||
DYNAMIC
|
||||
|
||||
Reference in New Issue
Block a user