summaryrefslogtreecommitdiff
path: root/Sora/Data/Booru/BooruProviderFlavor.swift
blob: c94a40d7f4009a816a6eba2e4a0a0a0b575ff2c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
enum BooruProviderFlavor: String, CaseIterable, Codable {
  case danbooru = "Danbooru"
  case gelbooru = "Gelbooru"
  case moebooru = "Moebooru"

  // MARK: - Initialization
  init(provider: BooruProvider) {
    self = Self.providerMap[provider] ?? .gelbooru
  }

  // MARK: - Private
  private static let providerMap: [BooruProvider: Self] = [
    .danbooru: .danbooru,
    .yandere: .moebooru,
    .konachan: .moebooru,
    .sakugabooru: .moebooru,
    .safebooru: .gelbooru,
    .gelbooru: .gelbooru,
  ]
}