metatext/ServiceLayer/Sources/ServiceLayer/Entities/Timeline.swift
Justin Mazzocchi 02cc1e3533
View favorites
2020-11-30 19:07:38 -08:00

47 lines
1.3 KiB
Swift

// Copyright © 2020 Metabolist. All rights reserved.
import DB
import MastodonAPI
public typealias Timeline = DB.Timeline
extension Timeline {
var endpoint: StatusesEndpoint {
switch self {
case .home:
return .timelinesHome
case .local:
return .timelinesPublic(local: true)
case .federated:
return .timelinesPublic(local: false)
case let .list(list):
return .timelinesList(id: list.id)
case let .tag(tag):
return .timelinesTag(tag)
case let .profile(accountId, profileCollection):
let excludeReplies: Bool
let onlyMedia: Bool
switch profileCollection {
case .statuses:
excludeReplies = true
onlyMedia = false
case .statusesAndReplies:
excludeReplies = false
onlyMedia = false
case .media:
excludeReplies = true
onlyMedia = true
}
return .accountsStatuses(
id: accountId,
excludeReplies: excludeReplies,
onlyMedia: onlyMedia,
pinned: false)
case .favorites:
return .favourites
}
}
}