51 lines
1003 B
Plaintext
51 lines
1003 B
Plaintext
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
model Generation {
|
|
id String @id @default(cuid())
|
|
repoUrl String
|
|
repoName String
|
|
commitHash String
|
|
status Status @default(QUEUED)
|
|
progress Int @default(0)
|
|
result Json?
|
|
error String?
|
|
costUsd Float?
|
|
duration Int?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
userId String?
|
|
user User? @relation(fields: [userId], references: [id])
|
|
viewCount Int @default(0)
|
|
|
|
@@unique([repoUrl, commitHash])
|
|
@@index([repoUrl])
|
|
@@index([status])
|
|
}
|
|
|
|
model User {
|
|
id String @id @default(cuid())
|
|
githubId String @unique
|
|
login String
|
|
email String?
|
|
avatarUrl String?
|
|
createdAt DateTime @default(now())
|
|
generations Generation[]
|
|
}
|
|
|
|
enum Status {
|
|
QUEUED
|
|
CLONING
|
|
PARSING
|
|
GENERATING
|
|
RENDERING
|
|
COMPLETED
|
|
FAILED
|
|
}
|