113 lines
2.4 KiB
Plaintext
113 lines
2.4 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model GuildConfig {
|
|
guildId String @id
|
|
prefix String @default("!")
|
|
mimicEnabled Boolean @default(false)
|
|
bigEmojiEnabled Boolean @default(false)
|
|
locale String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|
|
|
|
model InviteRole {
|
|
id String @id @default(uuid())
|
|
guildId String
|
|
inviteCode String
|
|
roleId String
|
|
createdAt DateTime @default(now())
|
|
|
|
@@unique([guildId, inviteCode])
|
|
}
|
|
|
|
model UserSubscription {
|
|
userId String @id
|
|
tier SubscriptionTier @default(FREE)
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
guilds GuildOwnership[]
|
|
}
|
|
|
|
model GuildOwnership {
|
|
guildId String @id
|
|
ownerId String
|
|
createdAt DateTime @default(now())
|
|
owner UserSubscription @relation(fields: [ownerId], references: [userId], onDelete: Cascade)
|
|
|
|
@@index([ownerId])
|
|
}
|
|
|
|
model VoiceGenerator {
|
|
channelId String @id
|
|
guildId String
|
|
categoryId String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
|
|
@@index([guildId])
|
|
}
|
|
|
|
model TempVoiceChannel {
|
|
channelId String @id
|
|
guildId String
|
|
ownerId String
|
|
deleteWhen DeleteCondition @default(EMPTY)
|
|
createdAt DateTime @default(now())
|
|
|
|
@@index([guildId])
|
|
@@index([ownerId])
|
|
}
|
|
|
|
model UserVoiceProfile {
|
|
userId String
|
|
guildId String
|
|
customName String?
|
|
userLimit Int?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
|
|
@@id([userId, guildId])
|
|
}
|
|
|
|
model UserLocale {
|
|
userId String @id
|
|
locale String
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|
|
|
|
enum SubscriptionTier {
|
|
FREE
|
|
STANDARD
|
|
PRO
|
|
PREMIUM
|
|
}
|
|
|
|
enum DeleteCondition {
|
|
OWNER_LEAVE
|
|
EMPTY
|
|
}
|
|
|
|
model AuditChannel {
|
|
guildId String @id
|
|
channelId String
|
|
disabledCategories String[] @default([])
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|
|
|
|
model VoiceGuildConfig {
|
|
guildId String @id
|
|
defaultNameTemplate String @default("{{username}}'s Room")
|
|
defaultUserLimit Int @default(0)
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|