diff options
Diffstat (limited to 'Hutch/Networking/APICacheKeys.swift')
| -rw-r--r-- | Hutch/Networking/APICacheKeys.swift | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Hutch/Networking/APICacheKeys.swift b/Hutch/Networking/APICacheKeys.swift index 5e57a51..d0cffa6 100644 --- a/Hutch/Networking/APICacheKeys.swift +++ b/Hutch/Networking/APICacheKeys.swift @@ -51,6 +51,14 @@ enum APICacheKeys { make([SRHTService.todo.rawValue, "tracker-labels", "tracker:\(trackerRid)"]) } + static func trackers(cursor: String? = nil) -> String { + make([SRHTService.todo.rawValue, "trackers", cursor.map { "cursor:\($0)" }]) + } + + static func tickets(trackerRid: String, cursor: String? = nil) -> String { + make([SRHTService.todo.rawValue, "tickets", "tracker:\(trackerRid)", cursor.map { "cursor:\($0)" }]) + } + static func builds(cursor: String? = nil, filter: String? = nil) -> String { make([SRHTService.builds.rawValue, "jobs", cursor.map { "cursor:\($0)" }, filter.map { "filter:\($0)" }]) } @@ -71,6 +79,37 @@ enum APICacheKeys { make([SRHTService.todo.rawValue, "user-trackers", normalize(owner), cursor.map { "cursor:\($0)" }]) } + static func projects(cursor: String? = nil) -> String { + make([SRHTService.hub.rawValue, "projects", cursor.map { "cursor:\($0)" }]) + } + + static func projectDetail(rid: String, mailingListsCursor: String? = nil, sourcesCursor: String? = nil, trackersCursor: String? = nil) -> String { + make([ + SRHTService.hub.rawValue, + "project", + "rid:\(rid)", + mailingListsCursor.map { "ml:\($0)" }, + sourcesCursor.map { "src:\($0)" }, + trackersCursor.map { "trk:\($0)" } + ]) + } + + static func homeJobs(actor: String) -> String { + make(["home", "jobs", normalize(actor)]) + } + + static func homeTrackerTickets(owner: String, tracker: String) -> String { + make(["home", "tickets", normalize(owner), normalize(tracker)]) + } + + static func inboxSubscriptions(cursor: String? = nil) -> String { + make([SRHTService.lists.rawValue, "subscriptions", cursor.map { "cursor:\($0)" }]) + } + + static func inboxThreads(listRid: String, cursor: String? = nil) -> String { + make([SRHTService.lists.rawValue, "threads", "list:\(listRid)", cursor.map { "cursor:\($0)" }]) + } + static func pasteList(cursor: String? = nil) -> String { make([SRHTService.paste.rawValue, "pastes", cursor.map { "cursor:\($0)" }]) } @@ -102,4 +141,8 @@ enum APICacheTTLs { static let movingRefFileContent: TimeInterval = 10 * 60 static let userProfile: TimeInterval = 30 * 60 static let status: TimeInterval = 5 * 60 + static let homeDashboard: TimeInterval = 2 * 60 + static let inboxSummary: TimeInterval = 2 * 60 + static let projectList: TimeInterval = 10 * 60 + static let projectDetail: TimeInterval = 10 * 60 } |
