feat: 定义仓库协议与用例(含会话)

This commit is contained in:
AndyChen1024
2026-09-15 14:35:52 +08:00
parent 14eb5ad44d
commit ec1eed8f04
10 changed files with 139 additions and 4 deletions

View File

@@ -0,0 +1,22 @@
import CoreModel
/// 获取/提交计划数据的用例。
public struct PlanUseCase: Sendable {
private let repository: PlanRepository
public init(repository: PlanRepository) {
self.repository = repository
}
public func observePlan(type: PlanType) -> AsyncThrowingStream<PlanRecord, Error> {
repository.observePlan(type: type)
}
public func observePlanSubmit(type: PlanType, periodKey: String) -> AsyncThrowingStream<PlanSubmitData, Error> {
repository.observePlanSubmit(type: type, periodKey: periodKey)
}
public func savePlan(type: PlanType, periodKey: String, content: String, attachments: [String]) async throws {
try await repository.savePlan(type: type, periodKey: periodKey, content: content, attachments: attachments)
}
}