Files
var-monorepo/packages/database/prisma/schema/penalty.prisma

32 lines
818 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(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
}