Files
drop/prisma/models/auth.prisma
DecDuck b33e27e446 API tokens (#201)
* fix: small fixes to request util and version update endpoint

* feat: api token creation and management

* fix: lint

* fix: remove unneeded sidebar component
2025-08-23 13:58:52 +10:00

71 lines
1.3 KiB
Plaintext

enum AuthMec {
Simple
OpenID
}
model LinkedAuthMec {
userId String
mec AuthMec
enabled Boolean @default(true)
version Int @default(1)
credentials Json
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@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], onDelete: Cascade)
clientId String?
client Client? @relation(fields: [clientId], references: [id], onDelete: Cascade)
acls String[]
expiresAt DateTime?
@@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], onDelete: Cascade)
data Json // misc extra data
}