Files
chad/server/prisma/schema.prisma
Ivan Grachyov ca773a56c6 chat WIP
2025-12-26 23:36:21 +03:00

61 lines
1.3 KiB
Plaintext

datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
// output = "./generated/client"
}
model User {
id String @id @default(cuid())
username String @unique
password String
displayName String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Session Session[]
UserPreferences UserPreferences?
ChatMessage ChatMessage[]
}
model Session {
id String @id
userId String
expiresAt DateTime
user User @relation(references: [id], fields: [userId], onDelete: Cascade)
@@index([userId])
}
model UserPreferences {
userId String @id
toggleInputHotkey String? @default("")
toggleOutputHotkey String? @default("")
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}
model ChatMessage {
id String @id
userId String
channelId Int
content String
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Restrict)
channel ChatChannel @relation(fields: [channelId], references: [id], onDelete: Cascade)
}
model ChatChannel {
id Int @id
name String @unique
messages ChatMessage[]
}