84 lines
2.4 KiB
Plaintext
84 lines
2.4 KiB
Plaintext
// This is your Prisma schema file,
|
|
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
|
|
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
|
|
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
previewFeatures = ["typedSql"]
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model User {
|
|
id String @id
|
|
ownedTags Tag[]
|
|
|
|
@@map("user")
|
|
}
|
|
|
|
model Guild {
|
|
id String @id @default(cuid())
|
|
guildId String @unique @map("guild_id")
|
|
|
|
tags Tag[]
|
|
|
|
// Settings
|
|
autoRoles String[] @map("auto_roles")
|
|
reportChannel String? @map("report_channel")
|
|
guildWelcomeMessage GuildWelcomeMessage?
|
|
guildLeaveMessage GuildLeaveMessage?
|
|
autoCarbon Boolean @default(false) @map("auto_carbon")
|
|
}
|
|
|
|
// Guild welcome message
|
|
model GuildWelcomeMessage {
|
|
id String @id @default(cuid())
|
|
guildId String @unique @map(name: "guild_id")
|
|
channelId String? @map(name: "channel_id")
|
|
|
|
title String @default("🎉 Welcome to the server {user}!")
|
|
description String @default("> Welcome to **{guild}** We hope you enjoy your stay here!")
|
|
embedColor String @default("#5865F2") @map(name: "embed_color")
|
|
enabled Boolean @default(false)
|
|
createdAt DateTime @default(now()) @map(name: "created_at")
|
|
|
|
guild Guild @relation(fields: [guildId], references: [guildId], onDelete: Cascade)
|
|
|
|
@@map(name: "guild_welcome_message")
|
|
}
|
|
|
|
// Guild leave message
|
|
model GuildLeaveMessage {
|
|
id String @id @default(cuid())
|
|
guildId String @unique @map(name: "guild_id")
|
|
channelId String? @map(name: "channel_id")
|
|
title String @default("👋 Goodbye {user}!")
|
|
description String @default("> We're sorry to see you go!")
|
|
embedColor String @default("#5865F2") @map(name: "embed_color")
|
|
enabled Boolean @default(false)
|
|
createdAt DateTime @default(now()) @map(name: "created_at")
|
|
guild Guild @relation(fields: [guildId], references: [guildId], onDelete: Cascade)
|
|
|
|
@@map(name: "guild_leave_message")
|
|
}
|
|
|
|
model Tag {
|
|
id String @id @default(cuid())
|
|
|
|
owner User @relation(fields: [ownerId], references: [id])
|
|
guild Guild @relation(fields: [guildId], references: [id])
|
|
|
|
name String
|
|
content String
|
|
usages Int @default(0)
|
|
image String?
|
|
|
|
ownerId String
|
|
guildId String
|
|
}
|