From fbb12182771012df9a978b6ea0a1458115e60111 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Sun, 19 Feb 2023 23:28:23 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[Refactor]=20#112=20-=20createRecord=20API?= =?UTF-8?q?=EB=A5=BC=20RecordRouter=EB=A1=9C=20=EC=9C=84=EC=B9=98=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 12 ---- .../Network/Router/RecordRouter.swift | 48 ++++++++++++++++ .../Router/RunningRouter/RunningRouter.swift | 56 ------------------- .../Running/VC/RunningRecordVC.swift | 4 +- .../Running/VC/RunningWaitingVC.swift | 2 +- 5 files changed, 51 insertions(+), 71 deletions(-) delete mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 5e037255..88ad245a 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -71,7 +71,6 @@ CE5875A2296015A2005D967E /* NetworkLoggerPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE5875A1296015A2005D967E /* NetworkLoggerPlugin.swift */; }; CE5875A4296015D2005D967E /* Encodable+.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE5875A3296015D2005D967E /* Encodable+.swift */; }; CE591E9C296D4F69000FCBB3 /* RunningRecordResonseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE591E9B296D4F69000FCBB3 /* RunningRecordResonseDto.swift */; }; - CE591E9E296D5140000FCBB3 /* RunningRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE591E9D296D5140000FCBB3 /* RunningRouter.swift */; }; CE591EA1296D5EB5000FCBB3 /* PrivateCourseResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE591EA0296D5EB5000FCBB3 /* PrivateCourseResponseDto.swift */; }; CE6655BF295D82E200C64E12 /* .gitkeep in Resources */ = {isa = PBXBuildFile; fileRef = CE6655BE295D82E200C64E12 /* .gitkeep */; }; CE6655C8295D849F00C64E12 /* StringLiterals.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6655C7295D849F00C64E12 /* StringLiterals.swift */; }; @@ -224,7 +223,6 @@ CE5875A1296015A2005D967E /* NetworkLoggerPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkLoggerPlugin.swift; sourceTree = ""; }; CE5875A3296015D2005D967E /* Encodable+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Encodable+.swift"; sourceTree = ""; }; CE591E9B296D4F69000FCBB3 /* RunningRecordResonseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningRecordResonseDto.swift; sourceTree = ""; }; - CE591E9D296D5140000FCBB3 /* RunningRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningRouter.swift; sourceTree = ""; }; CE591EA0296D5EB5000FCBB3 /* PrivateCourseResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivateCourseResponseDto.swift; sourceTree = ""; }; CE6655BE295D82E200C64E12 /* .gitkeep */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitkeep; sourceTree = ""; }; CE6655C1295D82F700C64E12 /* .gitkeep */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitkeep; sourceTree = ""; }; @@ -759,14 +757,6 @@ path = CourseDetailRouter; sourceTree = ""; }; - CE40BB2B296808500030ABCA /* RunningRouter */ = { - isa = PBXGroup; - children = ( - CE591E9D296D5140000FCBB3 /* RunningRouter.swift */, - ); - path = RunningRouter; - sourceTree = ""; - }; CE4545BC295D7AF4003201E1 = { isa = PBXGroup; children = ( @@ -922,7 +912,6 @@ CE40BB28296808300030ABCA /* CourseDiscoveryRouter */, CE40BB292968083B0030ABCA /* MyPageRouter */, CE40BB2A296808440030ABCA /* CourseDetailRouter */, - CE40BB2B296808500030ABCA /* RunningRouter */, ); path = Router; sourceTree = ""; @@ -1387,7 +1376,6 @@ CE320F38296C8FAB009F89A7 /* CourseDrawingResponseData.swift in Sources */, CE21C028299E5FFC00F62AF5 /* PublicCourseRouter.swift in Sources */, CE18E894296C79B900FEB569 /* CourseDrawingRequestDto.swift in Sources */, - CE591E9E296D5140000FCBB3 /* RunningRouter.swift in Sources */, DA20D84E2966A9B300F1581F /* CourseSearchVC.swift in Sources */, CE1006572968230800FD31FB /* DepartureLocationModel.swift in Sources */, CECA695C296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift index e61f8e98..d028b92b 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift @@ -6,3 +6,51 @@ // import Foundation + +import Moya + +enum RecordRouter { + case recordRunning(param: RunningRecordRequestDto) +} + +extension RecordRouter: TargetType { + var baseURL: URL { + guard let url = URL(string: Config.baseURL) else { + fatalError("baseURL could not be configured") + } + + return url + } + + var path: String { + switch self { + case .recordRunning: + return "/record" + } + } + + var method: Moya.Method { + switch self { + case .recordRunning: + return .post + } + } + + var task: Moya.Task { + switch self { + case .recordRunning(let param): + do { + return .requestParameters(parameters: try param.asParameter(), encoding: JSONEncoding.default) + } catch { + fatalError(error.localizedDescription) + } + } + } + + var headers: [String : String]? { + switch self { + case .recordRunning: + return Config.headerWithDeviceId + } + } +} diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift deleted file mode 100644 index a43e73b0..00000000 --- a/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift +++ /dev/null @@ -1,56 +0,0 @@ -// -// RunningRouter.swift -// Runnect-iOS -// -// Created by sejin on 2023/01/10. -// - -import Foundation - -import Moya - -enum RunningRouter { - case recordRunning(param: RunningRecordRequestDto) -} - -extension RunningRouter: TargetType { - var baseURL: URL { - guard let url = URL(string: Config.baseURL) else { - fatalError("baseURL could not be configured") - } - - return url - } - - var path: String { - switch self { - case .recordRunning: - return "/record" - } - } - - var method: Moya.Method { - switch self { - case .recordRunning: - return .post - } - } - - var task: Moya.Task { - switch self { - case .recordRunning(let param): - do { - return .requestParameters(parameters: try param.asParameter(), encoding: JSONEncoding.default) - } catch { - fatalError(error.localizedDescription) - } - } - } - - var headers: [String: String]? { - switch self { - case .recordRunning: - return Config.headerWithDeviceId - } - } -} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningRecordVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningRecordVC.swift index b50d0936..c0ee546f 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningRecordVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningRecordVC.swift @@ -15,7 +15,7 @@ final class RunningRecordVC: UIViewController { private var runningModel: RunningModel? - private let runningProvider = MoyaProvider( + private let recordProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -300,7 +300,7 @@ extension RunningRecordVC { pace: pace) LoadingIndicator.showLoading() - runningProvider.request(.recordRunning(param: requestDto)) { [weak self] response in + recordProvider.request(.recordRunning(param: requestDto)) { [weak self] response in guard let self = self else { return } LoadingIndicator.hideLoading() switch response { diff --git a/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift index 354db18c..7bfa5151 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift @@ -22,7 +22,7 @@ final class RunningWaitingVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let runningProvider = MoyaProvider( + private let recordProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) From a92a9ffeb457bb1b483e34490b5c630d384bf0f8 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Sun, 19 Feb 2023 23:48:11 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[Refactor]=20#112=20-=20getRecordByUser=20A?= =?UTF-8?q?PI=EB=A5=BC=20RecordRouter=EB=A1=9C=20=EC=9C=84=EC=B9=98=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/Router/MyPageRouter/MyPageRouter.swift | 9 +++------ .../Runnect-iOS/Network/Router/RecordRouter.swift | 11 +++++++++-- .../MyPage/VC/InfoVC/ActivityRecordInfoVC.swift | 4 ++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift index ca7408ba..c81cd02f 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift @@ -11,7 +11,6 @@ import Moya enum MyPageRouter { case getUploadedCourseInfo - case getActivityRecordInfo case getGoalRewardInfo } @@ -28,8 +27,6 @@ extension MyPageRouter: TargetType { switch self { case .getUploadedCourseInfo: return "/public-course/user" - case .getActivityRecordInfo: - return "/record/user" case .getGoalRewardInfo: return "/stamp/user" } @@ -37,21 +34,21 @@ extension MyPageRouter: TargetType { var method: Moya.Method { switch self { - case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo, .getGoalRewardInfo: return .get } } var task: Moya.Task { switch self { - case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo, .getGoalRewardInfo: return .requestPlain } } var headers: [String: String]? { switch self { - case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo, .getGoalRewardInfo: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift index d028b92b..a5388fa7 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift @@ -11,6 +11,7 @@ import Moya enum RecordRouter { case recordRunning(param: RunningRecordRequestDto) + case getActivityRecordInfo } extension RecordRouter: TargetType { @@ -26,6 +27,8 @@ extension RecordRouter: TargetType { switch self { case .recordRunning: return "/record" + case .getActivityRecordInfo: + return "/record/user" } } @@ -33,6 +36,8 @@ extension RecordRouter: TargetType { switch self { case .recordRunning: return .post + case .getActivityRecordInfo: + return .get } } @@ -44,12 +49,14 @@ extension RecordRouter: TargetType { } catch { fatalError(error.localizedDescription) } + case .getActivityRecordInfo: + return .requestPlain } } - var headers: [String : String]? { + var headers: [String: String]? { switch self { - case .recordRunning: + case .recordRunning, .getActivityRecordInfo: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/ActivityRecordInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/ActivityRecordInfoVC.swift index b9281a4d..5dc24c5c 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/ActivityRecordInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/ActivityRecordInfoVC.swift @@ -15,7 +15,7 @@ final class ActivityRecordInfoVC: UIViewController { // MARK: - Properties - private var activityRecordProvider = MoyaProvider( + private var recordProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -118,7 +118,7 @@ extension ActivityRecordInfoVC: UITableViewDataSource { extension ActivityRecordInfoVC { func getActivityRecordInfo() { LoadingIndicator.showLoading() - activityRecordProvider.request(.getActivityRecordInfo) { [weak self] response in + recordProvider.request(.getActivityRecordInfo) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { From 38440f98f47192121b18c5c569e646f2d0eb708e Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Mon, 20 Feb 2023 00:01:30 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[Refactor]=20#112=20-=20createAndDeleteScra?= =?UTF-8?q?p=20API=EB=A5=BC=20ScrapRouter=EB=A1=9C=20=EC=9C=84=EC=B9=98=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UploadedCourseDetailRouter.swift | 9 +--- .../Network/Router/ScrapRouter.swift | 44 +++++++++++++++++++ .../CourseDetail/VC/CourseDetailVC.swift | 6 ++- .../Views/VC/CourseDiscoveryVC.swift | 4 +- .../Views/VC/CourseSearchVC.swift | 4 +- .../CourseStorage/VC/CourseStorageVC.swift | 4 +- 6 files changed, 56 insertions(+), 15 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseDetailRouter/UploadedCourseDetailRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseDetailRouter/UploadedCourseDetailRouter.swift index 2e0446e5..caf87e03 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseDetailRouter/UploadedCourseDetailRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseDetailRouter/UploadedCourseDetailRouter.swift @@ -11,7 +11,6 @@ import Moya enum UploadedCourseDetailRouter { case getUploadedCourseDetail(publicCourseId: Int) - case createAndDeleteScrap(publicCourseId: Int, scrapTF: Bool) } extension UploadedCourseDetailRouter: TargetType { @@ -27,8 +26,6 @@ extension UploadedCourseDetailRouter: TargetType { switch self { case .getUploadedCourseDetail(let publicCourseId): return "/public-course/detail/\(publicCourseId)" - case .createAndDeleteScrap: - return "/scrap" } } @@ -36,8 +33,6 @@ extension UploadedCourseDetailRouter: TargetType { switch self { case .getUploadedCourseDetail: return .get - case .createAndDeleteScrap: - return .post } } @@ -45,14 +40,12 @@ extension UploadedCourseDetailRouter: TargetType { switch self { case .getUploadedCourseDetail: return .requestPlain - case .createAndDeleteScrap(let publicCourseId, let scrapTF): - return .requestParameters(parameters: ["publicCourseId": publicCourseId, "scrapTF": scrapTF], encoding: JSONEncoding.default) } } var headers: [String: String]? { switch self { - case .getUploadedCourseDetail, .createAndDeleteScrap: + case .getUploadedCourseDetail: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift index 89dfa2a8..3c5eec55 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift @@ -6,3 +6,47 @@ // import Foundation + +import Moya + +enum ScrapRouter { + case createAndDeleteScrap(publicCourseId: Int, scrapTF: Bool) +} + +extension ScrapRouter: TargetType { + var baseURL: URL { + guard let url = URL(string: Config.baseURL) else { + fatalError("baseURL could not be configured") + } + + return url + } + + var path: String { + switch self { + case .createAndDeleteScrap: + return "/scrap" + } + } + + var method: Moya.Method { + switch self { + case .createAndDeleteScrap: + return .post + } + } + + var task: Moya.Task { + switch self { + case .createAndDeleteScrap(let publicCourseId, let scrapTF): + return .requestParameters(parameters: ["publicCourseId": publicCourseId, "scrapTF": scrapTF], encoding: JSONEncoding.default) + } + } + + var headers: [String: String]? { + switch self { + case .createAndDeleteScrap: + return Config.headerWithDeviceId + } + } +} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift index bfda381e..cc84fdce 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift @@ -16,6 +16,10 @@ final class CourseDetailVC: UIViewController { // MARK: - Properties + private let scrapProvider = MoyaProvider( + plugins: [NetworkLoggerPlugin(verbose: true)] + ) + private let courseDetailProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -353,7 +357,7 @@ extension CourseDetailVC { private func scrapCourse(scrapTF: Bool) { guard let publicCourseId = self.publicCourseId else { return } LoadingIndicator.showLoading() - courseDetailProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in + scrapProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift index 73336bad..b2f1a2ee 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift @@ -19,7 +19,7 @@ final class CourseDiscoveryVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let courseDetailProvider = MoyaProvider( + private let scrapProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -276,7 +276,7 @@ extension CourseDiscoveryVC { private func scrapCourse(publicCourseId: Int, scrapTF: Bool) { LoadingIndicator.showLoading() - courseDetailProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in + scrapProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseSearchVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseSearchVC.swift index e8aeea67..d7a8cf81 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseSearchVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseSearchVC.swift @@ -19,7 +19,7 @@ final class CourseSearchVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let courseDetailProvider = MoyaProvider( + private let scrapProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -246,7 +246,7 @@ extension CourseSearchVC { private func scrapCourse(publicCourseId: Int, scrapTF: Bool) { LoadingIndicator.showLoading() - courseDetailProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in + scrapProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift index e7d70dde..040d8a4a 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift @@ -18,7 +18,7 @@ final class CourseStorageVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let courseDetailProvider = MoyaProvider( + private let scrapProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -198,7 +198,7 @@ extension CourseStorageVC { private func scrapCourse(publicCourseId: Int, scrapTF: Bool) { LoadingIndicator.showLoading() - courseDetailProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in + scrapProvider.request(.createAndDeleteScrap(publicCourseId: publicCourseId, scrapTF: scrapTF)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { From 9d6a99e936d512baa852c22b3b998791116a79a5 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Mon, 20 Feb 2023 00:06:04 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[Refactor]=20#112=20-=20getScrapCourseByUse?= =?UTF-8?q?r=20API=EB=A5=BC=20ScrapRouter=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CourseStorageRouter/CourseStorageRouter.swift | 13 ++++--------- .../Runnect-iOS/Network/Router/ScrapRouter.swift | 9 ++++++++- .../CourseStorage/VC/CourseStorageVC.swift | 6 +----- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift index b69323ce..216ce8a4 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift @@ -10,7 +10,6 @@ import Foundation import Moya enum CourseStorageRouter { - case getScrapCourse } extension CourseStorageRouter: TargetType { @@ -24,29 +23,25 @@ extension CourseStorageRouter: TargetType { var path: String { switch self { - case .getScrapCourse: - return "/scrap/user" + } } var method: Moya.Method { switch self { - case .getScrapCourse: - return .get + } } var task: Moya.Task { switch self { - case .getScrapCourse: - return .requestPlain + } } var headers: [String: String]? { switch self { - case .getScrapCourse: - return Config.headerWithDeviceId + } } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift index 3c5eec55..f3e30cc4 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift @@ -11,6 +11,7 @@ import Moya enum ScrapRouter { case createAndDeleteScrap(publicCourseId: Int, scrapTF: Bool) + case getScrapCourse } extension ScrapRouter: TargetType { @@ -26,6 +27,8 @@ extension ScrapRouter: TargetType { switch self { case .createAndDeleteScrap: return "/scrap" + case .getScrapCourse: + return "/scrap/user" } } @@ -33,6 +36,8 @@ extension ScrapRouter: TargetType { switch self { case .createAndDeleteScrap: return .post + case .getScrapCourse: + return .get } } @@ -40,12 +45,14 @@ extension ScrapRouter: TargetType { switch self { case .createAndDeleteScrap(let publicCourseId, let scrapTF): return .requestParameters(parameters: ["publicCourseId": publicCourseId, "scrapTF": scrapTF], encoding: JSONEncoding.default) + case .getScrapCourse: + return .requestPlain } } var headers: [String: String]? { switch self { - case .createAndDeleteScrap: + case .createAndDeleteScrap, .getScrapCourse: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift index 040d8a4a..85de924e 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift @@ -22,10 +22,6 @@ final class CourseStorageVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let courseStorageProvider = MoyaProvider( - plugins: [NetworkLoggerPlugin(verbose: true)] - ) - private let cancelBag = CancelBag() private var privateCourseList = [PrivateCourse]() @@ -170,7 +166,7 @@ extension CourseStorageVC { private func getScrapCourseList() { LoadingIndicator.showLoading() - courseStorageProvider.request(.getScrapCourse) { [weak self] response in + scrapProvider.request(.getScrapCourse) { [weak self] response in guard let self = self else { return } LoadingIndicator.hideLoading() switch response { From 82e5f704eba66f676f0fdeaa4cbde458bafc44f7 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Mon, 20 Feb 2023 00:12:08 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[Refactor]=20#112=20-=20getStampByUser=20AP?= =?UTF-8?q?I=EB=A5=BC=20StampRouter=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 12 ----- .../CourseStorageRouter.swift | 47 ------------------- .../Router/MyPageRouter/MyPageRouter.swift | 9 ++-- .../Network/Router/StampRouter.swift | 44 +++++++++++++++++ .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 4 +- 5 files changed, 49 insertions(+), 67 deletions(-) delete mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 88ad245a..553883f2 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -133,7 +133,6 @@ CEEC6B402961C55000D00E1E /* MyPageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B3F2961C55000D00E1E /* MyPageVC.swift */; }; CEEC6B492961C5E200D00E1E /* SplashVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B482961C5E200D00E1E /* SplashVC.swift */; }; CEEC6B4B2961D89700D00E1E /* CustomNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B4A2961D89700D00E1E /* CustomNavigationBar.swift */; }; - CEF3CD98296D63B9002723A1 /* CourseStorageRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF3CD97296D63B9002723A1 /* CourseStorageRouter.swift */; }; CEF3CD9A296DB305002723A1 /* CourseDetailResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF3CD99296DB305002723A1 /* CourseDetailResponseDto.swift */; }; DA20D847296697A600F1581F /* MyCourseSelectVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA20D846296697A600F1581F /* MyCourseSelectVC.swift */; }; DA20D849296697B400F1581F /* CourseUploadVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA20D848296697B400F1581F /* CourseUploadVC.swift */; }; @@ -289,7 +288,6 @@ CEEC6B452961C5B200D00E1E /* .gitkeep */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitkeep; sourceTree = ""; }; CEEC6B482961C5E200D00E1E /* SplashVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashVC.swift; sourceTree = ""; }; CEEC6B4A2961D89700D00E1E /* CustomNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomNavigationBar.swift; sourceTree = ""; }; - CEF3CD97296D63B9002723A1 /* CourseStorageRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseStorageRouter.swift; sourceTree = ""; }; CEF3CD99296DB305002723A1 /* CourseDetailResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailResponseDto.swift; sourceTree = ""; }; DA20D846296697A600F1581F /* MyCourseSelectVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCourseSelectVC.swift; sourceTree = ""; }; DA20D848296697B400F1581F /* CourseUploadVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseUploadVC.swift; sourceTree = ""; }; @@ -722,14 +720,6 @@ path = CourseDrawingRouter; sourceTree = ""; }; - CE40BB27296808290030ABCA /* CourseStorageRouter */ = { - isa = PBXGroup; - children = ( - CEF3CD97296D63B9002723A1 /* CourseStorageRouter.swift */, - ); - path = CourseStorageRouter; - sourceTree = ""; - }; CE40BB28296808300030ABCA /* CourseDiscoveryRouter */ = { isa = PBXGroup; children = ( @@ -908,7 +898,6 @@ CE21C02B299E601000F62AF5 /* ScrapRouter.swift */, CE21C02D299E601700F62AF5 /* StampRouter.swift */, CE40BB26296808020030ABCA /* CourseDrawingRouter */, - CE40BB27296808290030ABCA /* CourseStorageRouter */, CE40BB28296808300030ABCA /* CourseDiscoveryRouter */, CE40BB292968083B0030ABCA /* MyPageRouter */, CE40BB2A296808440030ABCA /* CourseDetailRouter */, @@ -1352,7 +1341,6 @@ CE6655F0295D891B00C64E12 /* UITextView+.swift in Sources */, CEC2A6922962BE2900160BF7 /* DepartureSearchVC.swift in Sources */, CE6655EE295D88E600C64E12 /* UITextField+.swift in Sources */, - CEF3CD98296D63B9002723A1 /* CourseStorageRouter.swift in Sources */, CE40BB1C2967E4910030ABCA /* RunningWaitingVC.swift in Sources */, CE6B63D6296731F9003F900F /* ScrapCourseListView.swift in Sources */, CE6655F8295D90CF00C64E12 /* adjusted+.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift deleted file mode 100644 index 216ce8a4..00000000 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// CourseStorageRouter.swift -// Runnect-iOS -// -// Created by sejin on 2023/01/10. -// - -import Foundation - -import Moya - -enum CourseStorageRouter { -} - -extension CourseStorageRouter: TargetType { - var baseURL: URL { - guard let url = URL(string: Config.baseURL) else { - fatalError("baseURL could not be configured") - } - - return url - } - - var path: String { - switch self { - - } - } - - var method: Moya.Method { - switch self { - - } - } - - var task: Moya.Task { - switch self { - - } - } - - var headers: [String: String]? { - switch self { - - } - } -} diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift index c81cd02f..3a8c1237 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift @@ -11,7 +11,6 @@ import Moya enum MyPageRouter { case getUploadedCourseInfo - case getGoalRewardInfo } extension MyPageRouter: TargetType { @@ -27,28 +26,26 @@ extension MyPageRouter: TargetType { switch self { case .getUploadedCourseInfo: return "/public-course/user" - case .getGoalRewardInfo: - return "/stamp/user" } } var method: Moya.Method { switch self { - case .getUploadedCourseInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo: return .get } } var task: Moya.Task { switch self { - case .getUploadedCourseInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo: return .requestPlain } } var headers: [String: String]? { switch self { - case .getUploadedCourseInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift index ba00dfb5..f4cbdf30 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift @@ -6,3 +6,47 @@ // import Foundation + +import Moya + +enum StampRouter { + case getGoalRewardInfo +} + +extension StampRouter: TargetType { + var baseURL: URL { + guard let url = URL(string: Config.baseURL) else { + fatalError("baseURL could not be configured") + } + + return url + } + + var path: String { + switch self { + case .getGoalRewardInfo: + return "/stamp/user" + } + } + + var method: Moya.Method { + switch self { + case .getGoalRewardInfo: + return .get + } + } + + var task: Moya.Task { + switch self { + case .getGoalRewardInfo: + return .requestPlain + } + } + + var headers: [String: String]? { + switch self { + case .getGoalRewardInfo: + return Config.headerWithDeviceId + } + } +} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index 029a5f0f..caed83c7 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -14,7 +14,7 @@ import Moya final class GoalRewardInfoVC: UIViewController { // MARK: - Properties - private var goalRewardProvider = MoyaProvider( + private var stampProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -183,7 +183,7 @@ extension GoalRewardInfoVC: UICollectionViewDataSource { extension GoalRewardInfoVC { func getGoalRewardInfo() { LoadingIndicator.showLoading() - goalRewardProvider.request(.getGoalRewardInfo) { [weak self] response in + stampProvider.request(.getGoalRewardInfo) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response {