mirror of
https://github.com/allthingslinux/tux.git
synced 2024-10-02 16:43:12 +00:00
175 lines
4.6 KiB
Text
175 lines
4.6 KiB
Text
generator client {
|
|
provider = "prisma-client-py"
|
|
recursive_type_depth = "-1"
|
|
interface = "asyncio"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
directUrl = env("DATABASE_URL")
|
|
}
|
|
|
|
model Guild {
|
|
guild_id BigInt @id
|
|
guild_joined_at DateTime? @default(now())
|
|
cases Case[]
|
|
snippets Snippet[]
|
|
notes Note[]
|
|
reminders Reminder[]
|
|
guild_config GuildConfig[]
|
|
AFK AFKModel[]
|
|
Starboard Starboard?
|
|
StarboardMessage StarboardMessage[]
|
|
case_count BigInt @default(0)
|
|
|
|
@@index([guild_id])
|
|
}
|
|
|
|
model GuildConfig {
|
|
prefix String?
|
|
mod_log_id BigInt?
|
|
audit_log_id BigInt?
|
|
join_log_id BigInt?
|
|
private_log_id BigInt?
|
|
report_log_id BigInt?
|
|
dev_log_id BigInt?
|
|
jail_channel_id BigInt?
|
|
general_channel_id BigInt?
|
|
starboard_channel_id BigInt?
|
|
perm_level_0_role_id BigInt?
|
|
perm_level_1_role_id BigInt?
|
|
perm_level_2_role_id BigInt?
|
|
perm_level_3_role_id BigInt?
|
|
perm_level_4_role_id BigInt?
|
|
perm_level_5_role_id BigInt?
|
|
perm_level_6_role_id BigInt?
|
|
perm_level_7_role_id BigInt?
|
|
base_staff_role_id BigInt?
|
|
base_member_role_id BigInt?
|
|
jail_role_id BigInt?
|
|
quarantine_role_id BigInt?
|
|
guild_id BigInt @id @unique
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@index([guild_id])
|
|
}
|
|
|
|
model Case {
|
|
case_id BigInt @id @default(autoincrement())
|
|
case_status Boolean? @default(true)
|
|
case_type CaseType
|
|
case_reason String
|
|
case_moderator_id BigInt
|
|
case_user_id BigInt
|
|
case_user_roles BigInt[] @default([])
|
|
case_number BigInt?
|
|
case_created_at DateTime? @default(now())
|
|
case_expires_at DateTime?
|
|
case_tempban_expired Boolean? @default(false)
|
|
guild_id BigInt
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@unique([case_number, guild_id])
|
|
@@index([case_number, guild_id])
|
|
}
|
|
|
|
model Snippet {
|
|
snippet_id BigInt @id @default(autoincrement())
|
|
snippet_name String
|
|
snippet_content String
|
|
snippet_user_id BigInt
|
|
snippet_created_at DateTime @default(now())
|
|
guild_id BigInt
|
|
uses BigInt @default(0)
|
|
locked Boolean @default(false)
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@unique([snippet_name, guild_id])
|
|
@@index([snippet_name, guild_id])
|
|
}
|
|
|
|
model Note {
|
|
note_id BigInt @id @default(autoincrement())
|
|
note_content String
|
|
note_created_at DateTime @default(now())
|
|
note_moderator_id BigInt
|
|
note_user_id BigInt
|
|
note_number BigInt?
|
|
guild_id BigInt
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@unique([note_number, guild_id])
|
|
@@index([note_number, guild_id])
|
|
}
|
|
|
|
model Reminder {
|
|
reminder_id BigInt @id @default(autoincrement())
|
|
reminder_content String
|
|
reminder_created_at DateTime @default(now())
|
|
reminder_expires_at DateTime
|
|
reminder_channel_id BigInt
|
|
reminder_user_id BigInt
|
|
reminder_sent Boolean @default(false)
|
|
guild_id BigInt
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@unique([reminder_id, guild_id])
|
|
@@index([reminder_id, guild_id])
|
|
}
|
|
|
|
model AFKModel {
|
|
member_id BigInt @id
|
|
nickname String
|
|
reason String
|
|
since DateTime @default(now())
|
|
guild_id BigInt
|
|
guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@unique([member_id, guild_id])
|
|
@@index([member_id])
|
|
}
|
|
|
|
model Starboard {
|
|
guild_id BigInt @id @unique
|
|
starboard_channel_id BigInt
|
|
starboard_emoji String
|
|
starboard_threshold Int
|
|
Guild Guild @relation(fields: [guild_id], references: [guild_id])
|
|
|
|
@@index([guild_id])
|
|
}
|
|
|
|
model StarboardMessage {
|
|
message_id BigInt @id
|
|
message_content String
|
|
message_created_at DateTime @default(now())
|
|
message_expires_at DateTime
|
|
message_channel_id BigInt
|
|
message_user_id BigInt
|
|
message_guild_id BigInt
|
|
star_count Int @default(0)
|
|
starboard_message_id BigInt
|
|
Guild Guild @relation(fields: [message_guild_id], references: [guild_id])
|
|
|
|
@@unique([message_id, message_guild_id])
|
|
@@index([message_id, message_guild_id])
|
|
}
|
|
|
|
enum CaseType {
|
|
BAN
|
|
UNBAN
|
|
HACKBAN
|
|
TEMPBAN
|
|
KICK
|
|
SNIPPETBAN
|
|
TIMEOUT
|
|
UNTIMEOUT
|
|
WARN
|
|
JAIL
|
|
UNJAIL
|
|
SNIPPETUNBAN
|
|
UNTEMPBAN
|
|
POLLBAN
|
|
POLLUNBAN
|
|
}
|