mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
Refactor PollHistoryService
This commit is contained in:
@@ -17,22 +17,8 @@
|
||||
import Combine
|
||||
|
||||
protocol PollHistoryServiceProtocol {
|
||||
/// Publishes poll data as soon they are found in the timeline.
|
||||
/// Updates are also published here, so clients needs to address duplicates.
|
||||
var pollHistory: AnyPublisher<TimelinePollDetails, Never> { get }
|
||||
var updates: AnyPublisher<TimelinePollDetails, Never> { get }
|
||||
var updatesErrors: AnyPublisher<Error, Never> { get }
|
||||
|
||||
/// Publishes whatever errors produced during the sync.
|
||||
var error: AnyPublisher<PollHistoryError, Never> { get }
|
||||
|
||||
/// Ask to fetch the next batch of polls.
|
||||
/// Concrete implementations can decide what a batch is.
|
||||
func next()
|
||||
|
||||
/// Inform whenever the fetch of a new batch of polls starts or ends.
|
||||
var isFetching: AnyPublisher<Bool, Never> { get }
|
||||
}
|
||||
|
||||
enum PollHistoryError: Error {
|
||||
case paginationFailed(Error)
|
||||
case pollAggregationFailed(Error)
|
||||
func next() -> AnyPublisher<TimelinePollDetails, Error>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user