summaryrefslogtreecommitdiff
path: root/Shared/HutchDeepLinkURLs.swift
blob: eed678c6d957f0fb6e35bad625e9472bc2157155 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import Foundation

/// Canonical `hutch://` URLs for widgets, tests, and in-app links.
enum HutchDeepLinkURL {
    static let home = URL(string: "hutch://home")!
    static let emptyHost = URL(string: "hutch://")!
    static let repositoryGit = URL(string: "hutch://git/~user/repo")!
    static let repositoryHg = URL(string: "hutch://hg/~user/repo")!
    static let gitOwnerRoot = URL(string: "hutch://git/~owner/")!
    static let ticket = URL(string: "hutch://todo/~owner/tracker/42")!
    static let buildJob = URL(string: "hutch://builds/12345")!
    static let buildJobWithOwner = URL(string: "hutch://builds/~owner/job/12345")!
    static let mailingList = URL(string: "hutch://lists/~owner/list")!
    static let trackers = URL(string: "hutch://trackers")!
    static let builds = URL(string: "hutch://builds")!
    static let repositories = URL(string: "hutch://repositories")!
    static let status = URL(string: "hutch://status")!
    static let lookup = URL(string: "hutch://lookup")!
    static let userProfile = URL(string: "hutch://lookup/~owner")!
    static let unknown = URL(string: "hutch://unknown")!
    static let invalidTicketId = URL(string: "hutch://todo/~owner/tracker/abc")!
    static let invalidBuildId = URL(string: "hutch://builds/abc")!
}

/// Default Hutch Stats API base URL (mirrors `AppConfiguration` fallback).
enum HutchStatsAPI {
    static let defaultBaseURL = URL(string: "https://hutch-stats.zerolabs.sh")!
}