feat: 定义仓库协议与用例(含会话)
This commit is contained in:
18
IosClientKit/Sources/CoreDomain/CheckinUseCase.swift
Normal file
18
IosClientKit/Sources/CoreDomain/CheckinUseCase.swift
Normal file
@@ -0,0 +1,18 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user