← back to ClawCoder
prisma/schema.prisma
55 lines
generator client {
provider = "prisma-client"
output = "../src/generated/prisma"
}
datasource db {
provider = "postgresql"
}
model User {
id String @id @default(uuid())
email String? @unique
tier String @default("free")
profileSlug String? @map("profile_slug")
preferences Json @default("{}")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
analyses Analysis[]
@@map("users")
}
model Analysis {
id String @id @default(uuid())
userId String? @map("user_id")
user User? @relation(fields: [userId], references: [id])
inputContent String @map("input_content")
inputSource String? @map("input_source")
overallScore Float? @map("overall_score")
letterGrade String? @map("letter_grade")
criteriaScores Json @map("criteria_scores")
pros Json @default("[]")
cons Json @default("[]")
suggestions Json @default("[]")
detectedProfileSlug String? @map("detected_profile_slug")
createdAt DateTime @default(now()) @map("created_at")
appliedSuggestions AppliedSuggestion[]
@@index([userId])
@@index([createdAt])
@@map("analyses")
}
model AppliedSuggestion {
id String @id @default(uuid())
analysisId String @map("analysis_id")
analysis Analysis @relation(fields: [analysisId], references: [id])
suggestionId String @map("suggestion_id")
appliedAt DateTime @default(now()) @map("applied_at")
resultContent String? @map("result_content")
@@index([analysisId])
@@map("applied_suggestions")
}