-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRoutineRepositoryProtocol.swift
More file actions
33 lines (28 loc) · 1.25 KB
/
RoutineRepositoryProtocol.swift
File metadata and controls
33 lines (28 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// RoutineRepositoryProtocol.swift
// Domain
//
// Created by 최정인 on 7/30/25.
//
// 루틴 관련 로직(조회, 완료, 등록, 삭제 등)을 수행하는 Repository
public protocol RoutineRepositoryProtocol {
/// 루틴을 생성합니다.
/// - Parameters:
/// - routineSummary: 루틴 요약 정보
/// - subRoutineSummaries: 서브 루틴 요약 정보 배열
func createRoutine(routineSummary: RoutineSummaryEntity, subRoutineSummaries: [SubRoutineSummaryEntity]) async throws
/// 루틴을 조회합니다.
/// - Parameter routineId: 조회할 루틴 id
/// - Returns: 조회된 루틴
func fetchRoutine(routineId: String) async throws -> RoutineEntity?
/// 루틴 목록을 조회합니다. (기간)
/// - Parameters:
/// - startDate: 조회 시작 날짜
/// - endDate: 조회 종료 날짜
func fetchRoutines(from startDate: String, to endDate: String) async throws -> [String: [RoutineEntity]]
/// 루틴을 수정합니다.
/// - Parameters:
/// - routineSummary: 루틴 요약 정보
/// - subRoutineSummaries: 서브 루틴 요약 정보 배열
func updateRoutine(routineSummary: RoutineSummaryEntity, subRoutineSummaries: [SubRoutineSummaryEntity]) async throws
}