Skip to content

Commit 1c9df69

Browse files
feat(#35): ScheduleUseCase 생성
1 parent 5e0a77c commit 1c9df69

File tree

5 files changed

+114
-1
lines changed

5 files changed

+114
-1
lines changed

Where_Are_You.xcodeproj/project.pbxproj

+17-1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@
9494
99949F5B2C58B85E00AE0177 /* Friend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99949F5A2C58B85E00AE0177 /* Friend.swift */; };
9595
99949F5F2C58BBAD00AE0177 /* FeedsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99949F5E2C58BBAD00AE0177 /* FeedsViewController.swift */; };
9696
99960AAB2CE1D26C007D2B61 /* GetScheduleUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99960AAA2CE1D26C007D2B61 /* GetScheduleUseCase.swift */; };
97+
99960AAD2CE1D875007D2B61 /* PostScheduleUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99960AAC2CE1D875007D2B61 /* PostScheduleUseCase.swift */; };
98+
99960AAF2CE1D8DB007D2B61 /* PutScheduleUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99960AAE2CE1D8DB007D2B61 /* PutScheduleUseCase.swift */; };
99+
99960AB12CE1D96D007D2B61 /* DeleteScheduleUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99960AB02CE1D96D007D2B61 /* DeleteScheduleUseCase.swift */; };
100+
99960AB32CE1D97C007D2B61 /* PostEcceptScheduleUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99960AB22CE1D97C007D2B61 /* PostEcceptScheduleUseCase.swift */; };
97101
999B88692CD1C51D00F329C9 /* HandleOutsideTap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 999B88682CD1C51D00F329C9 /* HandleOutsideTap.swift */; };
98102
999E296D2CBB989600AB9FF9 /* LocationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 999E296C2CBB989600AB9FF9 /* LocationService.swift */; };
99103
999E29712CBB9AF900AB9FF9 /* LocationRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 999E29702CBB9AF900AB9FF9 /* LocationRepository.swift */; };
@@ -323,6 +327,10 @@
323327
99949F5A2C58B85E00AE0177 /* Friend.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Friend.swift; sourceTree = "<group>"; };
324328
99949F5E2C58BBAD00AE0177 /* FeedsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedsViewController.swift; sourceTree = "<group>"; };
325329
99960AAA2CE1D26C007D2B61 /* GetScheduleUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetScheduleUseCase.swift; sourceTree = "<group>"; };
330+
99960AAC2CE1D875007D2B61 /* PostScheduleUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostScheduleUseCase.swift; sourceTree = "<group>"; };
331+
99960AAE2CE1D8DB007D2B61 /* PutScheduleUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PutScheduleUseCase.swift; sourceTree = "<group>"; };
332+
99960AB02CE1D96D007D2B61 /* DeleteScheduleUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteScheduleUseCase.swift; sourceTree = "<group>"; };
333+
99960AB22CE1D97C007D2B61 /* PostEcceptScheduleUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEcceptScheduleUseCase.swift; sourceTree = "<group>"; };
326334
999B88682CD1C51D00F329C9 /* HandleOutsideTap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HandleOutsideTap.swift; sourceTree = "<group>"; };
327335
999E296C2CBB989600AB9FF9 /* LocationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationService.swift; sourceTree = "<group>"; };
328336
999E29702CBB9AF900AB9FF9 /* LocationRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationRepository.swift; sourceTree = "<group>"; };
@@ -852,9 +860,13 @@
852860
99C6D2A12C903FEA009C0CF8 /* Schedule */ = {
853861
isa = PBXGroup;
854862
children = (
863+
99960AAC2CE1D875007D2B61 /* PostScheduleUseCase.swift */,
864+
99960AAA2CE1D26C007D2B61 /* GetScheduleUseCase.swift */,
865+
99960AAE2CE1D8DB007D2B61 /* PutScheduleUseCase.swift */,
855866
99C6D2A22C904006009C0CF8 /* GetDDayScheduleUseCase.swift */,
856867
992BF70B2CAA9006008D3055 /* GetScheduleListUseCase.swift */,
857-
99960AAA2CE1D26C007D2B61 /* GetScheduleUseCase.swift */,
868+
99960AB02CE1D96D007D2B61 /* DeleteScheduleUseCase.swift */,
869+
99960AB22CE1D97C007D2B61 /* PostEcceptScheduleUseCase.swift */,
858870
);
859871
path = Schedule;
860872
sourceTree = "<group>";
@@ -1606,6 +1618,7 @@
16061618
99C9B22C2C019C67008D7CBD /* LoginView.swift in Sources */,
16071619
99949F5F2C58BBAD00AE0177 /* FeedsViewController.swift in Sources */,
16081620
9950C6572C1040FD003155A7 /* TermsAgreementViewController.swift in Sources */,
1621+
99960AB12CE1D96D007D2B61 /* DeleteScheduleUseCase.swift in Sources */,
16091622
9910B8522C71EAA4005F7EEE /* ScheduleDropDownCell.swift in Sources */,
16101623
99FDD0BF2C6DF99400B15026 /* ReadFeedUseCase.swift in Sources */,
16111624
99D8FBBB2C3BA1D90062AF10 /* MainHomeViewController.swift in Sources */,
@@ -1632,6 +1645,7 @@
16321645
992F57E52C5B623F00219C6B /* CheckEmailUseCase.swift in Sources */,
16331646
9911F9842C3F5AA600D0FDC9 /* BannerView.swift in Sources */,
16341647
D5DCBF342C7435E2003F0246 /* SearchFriendsView.swift in Sources */,
1648+
99960AAD2CE1D875007D2B61 /* PostScheduleUseCase.swift in Sources */,
16351649
99C9B2422C01CE4C008D7CBD /* AccountLoginViewModel.swift in Sources */,
16361650
99107EA12C6F2C94007D129F /* SaveFeedResponse.swift in Sources */,
16371651
99E8BC3F2C2CEB1D00536B95 /* GenericResponse.swift in Sources */,
@@ -1650,6 +1664,7 @@
16501664
99D780DE2C6066FA005A3F30 /* LoginResponse.swift in Sources */,
16511665
99949F452C58788200AE0177 /* FriendFeedViewController.swift in Sources */,
16521666
D593CCC82C82318F00A862FF /* ScheduleViewModel.swift in Sources */,
1667+
99960AAF2CE1D8DB007D2B61 /* PutScheduleUseCase.swift in Sources */,
16531668
995175002C7EF89B00E938DE /* LocationBookmarkView.swift in Sources */,
16541669
99C68E432C64B28400DEC1F1 /* FeedAPI.swift in Sources */,
16551670
999E29732CBB9C7F00AB9FF9 /* GetLocationUseCase.swift in Sources */,
@@ -1756,6 +1771,7 @@
17561771
992F57C82C5B26D700219C6B /* ResetPasswordBody.swift in Sources */,
17571772
99EC20AB2C0D9D9D0018904D /* SignUpViewModel.swift in Sources */,
17581773
99EC20AD2C0D9DB50018904D /* AcoountSearchViewModel.swift in Sources */,
1774+
99960AB32CE1D97C007D2B61 /* PostEcceptScheduleUseCase.swift in Sources */,
17591775
D58F5A502C9332220048C23A /* GetMonthlyScheduleBody.swift in Sources */,
17601776
999B88692CD1C51D00F329C9 /* HandleOutsideTap.swift in Sources */,
17611777
D5CCD96F2CB0217E008497AD /* DailyScheduleView.swift in Sources */,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//
2+
// DeleteScheduleUseCase.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 11/11/2024.
6+
//
7+
8+
import Foundation
9+
10+
protocol DeleteScheduleUseCase {
11+
func execute(request: DeleteScheduleBody, isCreator: Bool, completion: @escaping (Result<Void, Error>) -> Void)
12+
}
13+
14+
class DeleteScheduleUseCaseImpl: DeleteScheduleUseCase {
15+
private let scheduleRepository: ScheduleRepositoryProtocol
16+
17+
init(scheduleRepository: ScheduleRepositoryProtocol) {
18+
self.scheduleRepository = scheduleRepository
19+
}
20+
21+
func execute(request: DeleteScheduleBody, isCreator: Bool, completion: @escaping (Result<Void, any Error>) -> Void) {
22+
scheduleRepository.deleteSchedule(request: request, isCreator: isCreator, completion: completion)
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// PostEcceptScheduleUseCase.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 11/11/2024.
6+
//
7+
8+
import Foundation
9+
10+
protocol PostEcceptScheduleUseCase {
11+
func execute(request: CreateScheduleBody, completion: @escaping (Result<Void, Error>) -> Void)
12+
13+
}
14+
15+
class PostEcceptScheduleUseCaseImpl: PostEcceptScheduleUseCase {
16+
private let scheduleRepository: ScheduleRepositoryProtocol
17+
18+
init(scheduleRepository: ScheduleRepositoryProtocol) {
19+
self.scheduleRepository = scheduleRepository
20+
}
21+
22+
func execute(request: CreateScheduleBody, completion: @escaping (Result<Void, any Error>) -> Void) {
23+
scheduleRepository.postEcceptSchedule(request: request, completion: completion)
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//
2+
// PostScheduleUseCase.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 11/11/2024.
6+
//
7+
8+
import Foundation
9+
10+
protocol PostScheduleUseCase {
11+
func execute(request: CreateScheduleBody, completion: @escaping (Result<Void, Error>) -> Void)
12+
}
13+
14+
class PostScheduleUseCaseImpl: PostScheduleUseCase {
15+
private let scheduleRepository: ScheduleRepositoryProtocol
16+
17+
init(scheduleRepository: ScheduleRepositoryProtocol) {
18+
self.scheduleRepository = scheduleRepository
19+
}
20+
21+
func execute(request: CreateScheduleBody, completion: @escaping (Result<Void, any Error>) -> Void) {
22+
scheduleRepository.postSchedule(request: request, completion: completion)
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//
2+
// PutScheduleUseCase.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 11/11/2024.
6+
//
7+
8+
import Foundation
9+
10+
protocol PutScheduleUseCase {
11+
func execute(request: PutScheduleBody, completion: @escaping (Result<Void, Error>) -> Void)
12+
}
13+
14+
class PutScheduleUseCaseImpl: PutScheduleUseCase {
15+
private let scheduleRepository: ScheduleRepositoryProtocol
16+
17+
init(scheduleRepository: ScheduleRepositoryProtocol) {
18+
self.scheduleRepository = scheduleRepository
19+
}
20+
21+
func execute(request: PutScheduleBody, completion: @escaping (Result<Void, any Error>) -> Void) {
22+
scheduleRepository.putSchedule(request: request, completion: completion)
23+
}
24+
}

0 commit comments

Comments
 (0)