Files
drop/prisma/schema/auth.prisma
2025-04-08 16:16:40 +10:00

68 lines
1.2 KiB
Plaintext

enum AuthMec {
Simple
}
model LinkedAuthMec {
userId String
mec AuthMec
enabled Boolean @default(true)
version Int @default(1)
credentials Json
user User @relation(fields: [userId], references: [id])
@@id([userId, mec])
}
model Invitation {
id String @id @default(uuid())
isAdmin Boolean @default(false)
username String?
email String?
expires DateTime
}
enum APITokenMode {
User
System
Client
}
model APIToken {
id String @id @default(uuid())
token String @unique @default(uuid())
mode APITokenMode
name String
userId String?
user User? @relation(fields: [userId], references: [id])
clientId String?
client Client? @relation(fields: [clientId], references: [id], onDelete: Cascade)
acls String[]
@@index([token])
}
model Certificate {
id String @id @default(uuid())
privateKey String
certificate String
blacklisted Boolean @default(false)
}
model Session {
token String @id
expiresAt DateTime
userId String
user User? @relation(fields: [userId], references: [id])
data Json // misc extra data
}