generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

model FileCache {
  hash       String   @id
  bytes      Int
  accessedAt DateTime
  createdAt  DateTime @default(now())
  updatedAt  DateTime @updatedAt
}

model KeyValueCache {
  key       String   @id
  value     String
  expiresAt DateTime
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

model Setting {
  guildId                        String   @id
  playlistLimit                  Int      @default(50)
  secondsToWaitAfterQueueEmpties Int      @default(30)
  leaveIfNoListeners             Boolean  @default(true)
  autoAnnounceNextSong           Boolean  @default(false)
  createdAt                      DateTime @default(now())
  updatedAt                      DateTime @updatedAt
}

model FavoriteQuery {
  id        Int      @id @default(autoincrement())
  guildId   String
  authorId  String
  name      String
  query     String
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  @@unique([guildId, name])
}