2024-11-16 16:24:23 +11:00
|
|
|
enum AuthMec {
|
|
|
|
|
Simple
|
2025-05-07 22:14:04 +10:00
|
|
|
OpenID
|
2024-11-16 16:24:23 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model LinkedAuthMec {
|
2025-03-14 12:22:08 +11:00
|
|
|
userId String
|
|
|
|
|
mec AuthMec
|
|
|
|
|
enabled Boolean @default(true)
|
2024-11-16 16:24:23 +11:00
|
|
|
|
2025-03-24 12:50:21 +11:00
|
|
|
version Int @default(1)
|
2024-11-16 16:24:23 +11:00
|
|
|
credentials Json
|
|
|
|
|
|
2026-01-13 15:32:39 +11:00
|
|
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
|
|
|
|
|
|
|
|
@@id([userId, mec])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum MFAMec {
|
|
|
|
|
WebAuthn
|
|
|
|
|
TOTP
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model LinkedMFAMec {
|
|
|
|
|
userId String
|
|
|
|
|
mec MFAMec
|
|
|
|
|
enabled Boolean @default(true)
|
|
|
|
|
|
|
|
|
|
version Int @default(1)
|
|
|
|
|
credentials Json
|
|
|
|
|
|
|
|
|
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
2024-11-16 16:24:23 +11:00
|
|
|
|
|
|
|
|
@@id([userId, mec])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model Invitation {
|
|
|
|
|
id String @id @default(uuid())
|
|
|
|
|
isAdmin Boolean @default(false)
|
|
|
|
|
|
|
|
|
|
username String?
|
|
|
|
|
email String?
|
|
|
|
|
expires DateTime
|
|
|
|
|
}
|
2025-02-04 13:15:34 +11:00
|
|
|
|
|
|
|
|
enum APITokenMode {
|
|
|
|
|
User
|
|
|
|
|
System
|
2025-04-08 16:16:40 +10:00
|
|
|
Client
|
2025-02-04 13:15:34 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model APIToken {
|
2025-02-14 20:01:18 +11:00
|
|
|
id String @id @default(uuid())
|
2025-03-14 12:22:08 +11:00
|
|
|
token String @unique @default(uuid())
|
2025-02-04 13:15:34 +11:00
|
|
|
mode APITokenMode
|
2025-02-14 20:01:18 +11:00
|
|
|
name String
|
2025-02-04 13:15:34 +11:00
|
|
|
|
|
|
|
|
userId String?
|
2025-06-08 05:49:11 +01:00
|
|
|
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
|
2025-02-04 13:15:34 +11:00
|
|
|
|
2025-04-08 16:16:40 +10:00
|
|
|
clientId String?
|
|
|
|
|
client Client? @relation(fields: [clientId], references: [id], onDelete: Cascade)
|
|
|
|
|
|
2025-02-04 13:15:34 +11:00
|
|
|
acls String[]
|
2025-02-14 20:01:18 +11:00
|
|
|
|
2025-08-23 13:58:52 +10:00
|
|
|
expiresAt DateTime?
|
|
|
|
|
|
2025-02-14 20:01:18 +11:00
|
|
|
@@index([token])
|
2025-02-04 13:15:34 +11:00
|
|
|
}
|
2025-03-14 10:53:37 -04:00
|
|
|
|
|
|
|
|
model Certificate {
|
|
|
|
|
id String @id @default(uuid())
|
|
|
|
|
|
|
|
|
|
privateKey String
|
|
|
|
|
certificate String
|
|
|
|
|
|
|
|
|
|
blacklisted Boolean @default(false)
|
|
|
|
|
}
|
2025-03-14 11:35:12 -04:00
|
|
|
|
|
|
|
|
model Session {
|
2025-04-03 19:15:33 -04:00
|
|
|
token String @id
|
|
|
|
|
expiresAt DateTime
|
|
|
|
|
|
2026-01-13 15:32:39 +11:00
|
|
|
userId String?
|
2025-06-08 05:49:11 +01:00
|
|
|
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
|
2025-04-03 19:15:33 -04:00
|
|
|
|
|
|
|
|
data Json // misc extra data
|
2025-03-14 11:35:12 -04:00
|
|
|
}
|