monorepo/packages/database/prisma/schema.prisma
2024-12-09 12:01:58 +00:00

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
}