generator client { provider = "prisma-client-js" output = "../node_modules/.prisma/client" } datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_URL") } // COMMENTS STUFF model Comment { id Int @id @default(autoincrement()) authorId String author User @relation("Author", fields: [authorId], references: [id], onDelete: Cascade) date DateTime dateUpdated DateTime? contents String like_count Int likes Likes[] @relation("Likes") pinned Boolean parentId Int parent Comment @relation("Replies", fields: [parentId], references: [id], onDelete: Cascade) replies Comment[] @relation("Replies") @@map("comment") } model Likes { commentId Int comment Comment @relation("Likes", fields: [commentId], references: [id], onDelete: Cascade) userId String user User @relation("Likes", fields: [userId], references: [id], onDelete: Cascade) @@id([commentId, userId]) @@map("likes") } // AUTH STUFF model User { id String @id name String email String emailVerified Boolean image String? createdAt DateTime updatedAt DateTime username String? displayUsername String? role String? banned Boolean? banReason String? banExpires DateTime? sessions Session[] accounts Account[] passkeys Passkey[] comments Comment[] @relation("Author") likes Likes[] @relation("Likes") @@unique([email]) @@unique([username]) @@map("user") } model Session { id String @id expiresAt DateTime token String createdAt DateTime updatedAt DateTime ipAddress String? userAgent String? userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) impersonatedBy String? @@unique([token]) @@map("session") } model Account { id String @id accountId String providerId String userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) accessToken String? refreshToken String? idToken String? accessTokenExpiresAt DateTime? refreshTokenExpiresAt DateTime? scope String? password String? createdAt DateTime updatedAt DateTime @@map("account") } model Verification { id String @id identifier String value String expiresAt DateTime createdAt DateTime? updatedAt DateTime? @@map("verification") } model Passkey { id String @id name String? publicKey String userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) credentialID String counter Int deviceType String backedUp Boolean transports String? createdAt DateTime? @@map("passkey") }