xyter/prisma/schema.prisma

71 lines
1.4 KiB
Text

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model Guild {
id String @unique
GuildMember GuildMember[]
// Settings
// Modules
creditsEnabled Boolean @default(false)
creditsRate Int @default(1)
creditsTimeout Int @default(5)
creditsWorkRate Int @default(25)
creditsWorkTimeout Int @default(86400)
pointsEnabled Boolean @default(false)
pointsRate Int @default(1)
pointsTimeout Int @default(5)
reputationsEnabled Boolean @default(false)
countersEnabled Boolean @default(false)
counters GuildCounter[]
}
model User {
id String @unique
GuildMember GuildMember[]
// Settings
// Modules
reputationsEarned Int @default(0)
}
model GuildMember {
userId String
guildId String
user User @relation(fields: [userId], references: [id])
guild Guild @relation(fields: [guildId], references: [id])
// Settings
// Modules
creditsEarned Int?
pointsEarned Int?
// Unique Identifier
@@unique([userId, guildId])
}
model GuildCounter {
guildId String
channelId String
triggerWord String
count Int @default(0)
guild Guild @relation(fields: [guildId], references: [id])
@@unique([guildId, channelId])
}