fix: restore complete admin feature dependencies

This commit is contained in:
Simo committed 2026-07-11 21:15:54 +02:00
1 parent 5b4228261a
commit 0cd753c735
115 files changed
+18565 -4930

No files matched your search

+135
View File
@@ -65,6 +65,11 @@ model User {
twoFactorRecoveryCodes String? @map("two_factor_recovery_codes") @db.Text
twoFactorConfirmedAt DateTime? @map("two_factor_confirmed_at") @db.Timestamp(0)
createdTickets WebsiteTicket[] @relation("ticketCreator")
assignedTickets WebsiteTicket[] @relation("ticketAssignee")
ticketMessages WebsiteTicketMessage[]
auditLogs AdminAuditLog[]
@@map("users")
}
@@ -1933,6 +1938,136 @@ model WebsiteHelpCenterTicketReplies {
@@map("website_help_center_ticket_replies")
}
model WebsiteTicket {
id Int @id @default(autoincrement())
subject String @db.VarChar(255)
category String @default("general") @db.VarChar(50)
priority String @default("normal") @db.VarChar(20)
status String @default("open") @db.VarChar(20)
creatorId Int @map("creator_id")
assigneeId Int? @map("assignee_id")
closedAt DateTime? @map("closed_at")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
creator User @relation("ticketCreator", fields: [creatorId], references: [id])
assignee User? @relation("ticketAssignee", fields: [assigneeId], references: [id])
messages WebsiteTicketMessage[]
@@index([creatorId])
@@index([assigneeId])
@@index([status])
@@map("website_tickets")
}
model WebsiteTicketMessage {
id Int @id @default(autoincrement())
ticketId Int @map("ticket_id")
userId Int @map("user_id")
message String @db.Text
isStaff Int @default(0) @map("is_staff")
createdAt DateTime @default(now()) @map("created_at")
ticket WebsiteTicket @relation(fields: [ticketId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id])
@@index([ticketId])
@@index([userId])
@@map("website_ticket_messages")
}
model WebsiteTicketTemplate {
id Int @id @default(autoincrement())
title String @db.VarChar(255)
content String @db.Text
category String @default("general") @db.VarChar(50)
sortOrder Int @default(0) @map("sort_order")
createdAt DateTime @default(now()) @map("created_at")
@@map("website_ticket_templates")
}
model UserWatch {
id Int @id @default(autoincrement())
staffId Int @map("staff_id")
targetUserId Int @map("target_user_id")
reason String @default("") @db.VarChar(255)
createdAt DateTime @default(now()) @map("created_at")
@@unique([staffId, targetUserId])
@@index([targetUserId])
@@map("user_watch")
}
model AdminAuditLog {
id Int @id @default(autoincrement())
userId Int @map("user_id")
action String @default("")
target String @default("")
targetId Int? @map("target_id")
details String? @db.Text
before String? @db.Text
after String? @db.Text
diff String? @db.Text
ipAddress String? @map("ip_address") @db.VarChar(45)
createdAt String @default("") @map("created_at")
updatedAt String? @map("updated_at")
user User @relation(fields: [userId], references: [id])
@@index([userId])
@@index([target, targetId])
@@index([action])
@@map("admin_audit_log")
}
model AclRole {
id Int @id @default(autoincrement())
slug String @unique
title String @default("")
description String? @db.Text
createdAt DateTime? @default(now()) @map("created_at")
updatedAt DateTime? @updatedAt @map("updated_at")
rolePermissions AclModelPermission[]
modelRoles AclModelRole[]
@@map("acl_roles")
}
model AclPermission {
id Int @id @default(autoincrement())
slug String @unique
title String @default("")
createdAt DateTime? @default(now()) @map("created_at")
updatedAt DateTime? @updatedAt @map("updated_at")
modelPermissions AclModelPermission[]
@@map("acl_permissions")
}
model AclModelRole {
id Int @id @default(autoincrement())
modelType String @default("User") @map("model_type")
modelId Int @map("model_id")
roleId Int @map("role_id")
role AclRole @relation(fields: [roleId], references: [id], onDelete: Cascade)
@@index([roleId])
@@map("acl_model_roles")
}
model AclModelPermission {
id Int @id @default(autoincrement())
modelType String @default("Role") @map("model_type")
modelId Int @map("model_id")
permissionId Int @map("permission_id")
role AclRole @relation(fields: [modelId], references: [id], onDelete: Cascade)
permission AclPermission @relation(fields: [permissionId], references: [id], onDelete: Cascade)
@@index([modelId])
@@index([permissionId])
@@map("acl_model_permissions")
}
model AlertLogs {
id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
type String @db.VarChar(255)