32 lines
826 B
Plaintext
32 lines
826 B
Plaintext
model AuditLog {
|
|
id Int @id @default(autoincrement())
|
|
userId String
|
|
createdUserId String?
|
|
reportId Int?
|
|
|
|
// Generalized action type to cover penalties and user history events
|
|
action AuditLogAction?
|
|
reason String?
|
|
until DateTime?
|
|
|
|
suspended Boolean @default(false)
|
|
|
|
timestamp DateTime @default(now())
|
|
|
|
// relations:
|
|
User User @relation("User", fields: [userId], references: [id], onDelete: Cascade)
|
|
CreatedUser User? @relation("CreatedPenalties", fields: [createdUserId], references: [id])
|
|
Report Report? @relation(fields: [reportId], references: [id])
|
|
}
|
|
|
|
enum AuditLogAction {
|
|
// Penalty actions
|
|
KICK
|
|
TIME_BAN
|
|
PERMISSIONS_REVOCED
|
|
BAN
|
|
// User history events
|
|
USER_DELETED
|
|
USER_PROFILE_UPDATED
|
|
}
|