hugging-c-ai / prisma /schema.prisma
NeoPy's picture
feat: Hugging-c-ai v2 — HF OAuth + multi-provider AI + HF bucket storage + Gradio
60faa09
Raw History Blame Contribute Delete
3.5 kB
datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client-js"
}
model Account {
id String @id @default(cuid())
userId String
type String
provider String
providerAccountId String
refresh_token String?
access_token String?
expires_at Int?
token_type String?
scope String?
id_token String?
session_state String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([provider, providerAccountId])
}
model Session {
id String @id @default(cuid())
sessionToken String @unique
userId String
expires DateTime
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}
model User {
id String @id @default(cuid())
name String?
email String? @unique
emailVerified DateTime?
image String?
credits Int @default(50)
customApiKey String?
hfUsername String?
createdAt DateTime @default(now())
accounts Account[]
sessions Session[]
chats Chat[]
images UserImage[]
creations Creation[]
}
model UserImage {
id String @id @default(cuid())
userId String
url String
hfRepo String?
hfPath String?
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([userId])
}
model Character {
id String @id @default(cuid())
name String
avatar String
profileUrl String?
description String
personality String
systemPrompt String
greeting String
isCustom Boolean @default(true)
isPublic Boolean @default(true)
userId String?
createdAt DateTime @default(now())
chats Chat[]
@@index([isPublic])
@@index([userId])
}
model Chat {
id String @id @default(cuid())
characterId String
userId String
createdAt DateTime @default(now())
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
messages Message[]
@@index([userId])
@@index([characterId])
}
model Message {
id String @id @default(cuid())
chatId String
role String
content String
imageUrl String?
model String?
promptTokens Int?
completionTokens Int?
createdAt DateTime @default(now())
chat Chat @relation(fields: [chatId], references: [id], onDelete: Cascade)
@@index([chatId])
}
model Creation {
id String @id @default(cuid())
prompt String?
imageUrl String?
aspectRatio String?
resolution String?
createdAt DateTime @default(now())
userId String
requestId String? @unique
status String @default("processing")
error String?
duration String?
inputImages String?
mode String?
modelId String?
title String?
type String?
url String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}
model VerificationToken {
identifier String
token String @unique
expires DateTime
@@unique([identifier, token])
}