Files
Wyview/prisma/schema.prisma
2026-03-11 16:55:19 +01:00

60 lines
1.5 KiB
Plaintext

generator client {
provider = "prisma-client"
output = "../app/generated/prisma"
}
datasource db {
provider = "postgresql"
}
model User {
id String @id @default(cuid())
email String @unique
password String
name String?
role String @default("member")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accounts TrackedAccount[]
tiktokToken TikTokToken?
}
model TikTokToken {
id String @id @default(cuid())
userId String @unique
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
openId String
accessToken String
refreshToken String
expiresAt DateTime
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model TikTokPKCE {
id String @id @default(cuid())
state String @unique
codeVerifier String
userId String
createdAt DateTime @default(now())
}
model TrackedAccount {
id String @id @default(cuid())
platform String
username String
accountId String
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
snapshots Snapshot[]
createdAt DateTime @default(now())
}
model Snapshot {
id String @id @default(cuid())
accountId String
account TrackedAccount @relation(fields: [accountId], references: [id], onDelete: Cascade)
followers Int
views Int
createdAt DateTime @default(now())
}