19 lines
499 B
Swift
19 lines
499 B
Swift
import CoreModel
|
|
|
|
/// 获取/提交打卡数据的用例。
|
|
public struct CheckinUseCase: Sendable {
|
|
private let repository: CheckinRepository
|
|
|
|
public init(repository: CheckinRepository) {
|
|
self.repository = repository
|
|
}
|
|
|
|
public func observeCheckin() -> AsyncThrowingStream<CheckinRecord, Error> {
|
|
repository.observeCheckin()
|
|
}
|
|
|
|
public func submitCheckin(status: CheckinStatus) async throws {
|
|
try await repository.submitCheckin(status: status)
|
|
}
|
|
}
|