krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
v3.1.3: Hutch/Networking/SRHTService.swift · raw
1import Foundation
2
3/// Each SourceHut service exposes its own GraphQL endpoint.
4enum SRHTService: String, Codable, Sendable, CaseIterable {
5 case meta
6 case hub
7 case git
8 case hg
9 case builds
10 case lists
11 case todo
12 case paste
13 case pages
14 case man
15
16 /// The GraphQL endpoint URL for this service.
17 var url: URL {
18 switch self {
19 case .hub:
20 URL(string: "https://sr.ht/query")!
21 default:
22 // Force-unwrap is safe here — these are compile-time constant strings.
23 URL(string: "https://\(rawValue).sr.ht/query")!
24 }
25 }
26
27 var displayName: String {
28 switch self {
29 case .meta: "Meta"
30 case .hub: "Hub"
31 case .git: "Git"
32 case .hg: "Mercurial"
33 case .builds: "Builds"
34 case .lists: "Lists"
35 case .todo: "Todo"
36 case .paste: "Paste"
37 case .pages: "Pages"
38 case .man: "Man"
39 }
40 }
41}