file-uploader/prisma/schema.prisma

49 lines
1.1 KiB
Text

datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
username String @unique
email String @unique
password String
createdAt DateTime @default(now())
lastSeen DateTime @default(now())
settings UserSettings?
uploads Upload[]
sessions Session[]
}
model Session {
id String @id @unique
user User @relation(fields: [userId], references: [id])
userId Int
authorized Boolean
createdAt DateTime @default(now())
expiresAt DateTime
remoteAddress String?
}
model UserSettings {
id Int @id @default(autoincrement())
user User @relation(fields: [userId], references: [id])
userId Int @unique
newPostsPublic Boolean @default(false)
}
model Upload {
id String @id
uploader User @relation(fields: [uploaderId], references: [id])
uploaderId Int
fileName String @unique
public Boolean @default(false)
uploaded DateTime @default(now())
}