From b396b10ed923bb60bc526baad947cc4b12710003 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 21:59:31 +0900 Subject: [PATCH 1/7] =?UTF-8?q?[Add]=20#110=20-=20=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=ED=84=B0=20=ED=8C=8C=EC=9D=BC=EB=93=A4=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 24 +++++++++++++++++++ .../Network/Router/CourseRouter.swift | 8 +++++++ .../Network/Router/PublicCourseRouter.swift | 8 +++++++ .../Network/Router/RecordRouter.swift | 8 +++++++ .../Network/Router/ScrapRouter.swift | 8 +++++++ .../Network/Router/StampRouter.swift | 8 +++++++ .../Network/Router/UserRouter.swift | 8 +++++++ 7 files changed, 72 insertions(+) create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/PublicCourseRouter.swift create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift create mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index e4476e8f..39286e78 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -41,6 +41,12 @@ CE17F0382961BF8B00E1DED0 /* FontLiterals.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE17F0372961BF8B00E1DED0 /* FontLiterals.swift */; }; CE18E890296C76C100FEB569 /* RNLocationModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE18E88F296C76C100FEB569 /* RNLocationModel.swift */; }; CE18E894296C79B900FEB569 /* CourseDrawingRequestDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE18E893296C79B900FEB569 /* CourseDrawingRequestDto.swift */; }; + CE21C024299E5FE500F62AF5 /* UserRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C023299E5FE500F62AF5 /* UserRouter.swift */; }; + CE21C026299E5FF300F62AF5 /* CourseRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C025299E5FF300F62AF5 /* CourseRouter.swift */; }; + CE21C028299E5FFC00F62AF5 /* PublicCourseRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C027299E5FFC00F62AF5 /* PublicCourseRouter.swift */; }; + CE21C02A299E600600F62AF5 /* RecordRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C029299E600600F62AF5 /* RecordRouter.swift */; }; + CE21C02C299E601000F62AF5 /* ScrapRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C02B299E601000F62AF5 /* ScrapRouter.swift */; }; + CE21C02E299E601700F62AF5 /* StampRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C02D299E601700F62AF5 /* StampRouter.swift */; }; CE29D582296402B500F47542 /* CourseDrawingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE29D581296402B500F47542 /* CourseDrawingVC.swift */; }; CE29D584296416D800F47542 /* caculateStatusBarHeight.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE29D583296416D800F47542 /* caculateStatusBarHeight.swift */; }; CE320F36296C8EAB009F89A7 /* CourseDrawingRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */; }; @@ -188,6 +194,12 @@ CE17F0372961BF8B00E1DED0 /* FontLiterals.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontLiterals.swift; sourceTree = ""; }; CE18E88F296C76C100FEB569 /* RNLocationModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNLocationModel.swift; sourceTree = ""; }; CE18E893296C79B900FEB569 /* CourseDrawingRequestDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingRequestDto.swift; sourceTree = ""; }; + CE21C023299E5FE500F62AF5 /* UserRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserRouter.swift; sourceTree = ""; }; + CE21C025299E5FF300F62AF5 /* CourseRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseRouter.swift; sourceTree = ""; }; + CE21C027299E5FFC00F62AF5 /* PublicCourseRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicCourseRouter.swift; sourceTree = ""; }; + CE21C029299E600600F62AF5 /* RecordRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordRouter.swift; sourceTree = ""; }; + CE21C02B299E601000F62AF5 /* ScrapRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrapRouter.swift; sourceTree = ""; }; + CE21C02D299E601700F62AF5 /* StampRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StampRouter.swift; sourceTree = ""; }; CE29D581296402B500F47542 /* CourseDrawingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingVC.swift; sourceTree = ""; }; CE29D583296416D800F47542 /* caculateStatusBarHeight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = caculateStatusBarHeight.swift; sourceTree = ""; }; CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingRouter.swift; sourceTree = ""; }; @@ -912,6 +924,12 @@ CE6655AD295D7FEA00C64E12 /* Router */ = { isa = PBXGroup; children = ( + CE21C023299E5FE500F62AF5 /* UserRouter.swift */, + CE21C025299E5FF300F62AF5 /* CourseRouter.swift */, + CE21C027299E5FFC00F62AF5 /* PublicCourseRouter.swift */, + CE21C029299E600600F62AF5 /* RecordRouter.swift */, + CE21C02B299E601000F62AF5 /* ScrapRouter.swift */, + CE21C02D299E601700F62AF5 /* StampRouter.swift */, CE40BB25296807FC0030ABCA /* SignInRouter */, CE40BB26296808020030ABCA /* CourseDrawingRouter */, CE40BB27296808290030ABCA /* CourseStorageRouter */, @@ -1314,9 +1332,11 @@ DA97A033296E65D80086760E /* CourseUploadingRequestDto.swift in Sources */, CE4545CD295D7AF4003201E1 /* TaBarController.swift in Sources */, A3305A97296EF58C000B1A10 /* GoalRewardInfoDto.swift in Sources */, + CE21C024299E5FE500F62AF5 /* UserRouter.swift in Sources */, CE6655F4295D898400C64E12 /* UIViewController+.swift in Sources */, CE320F36296C8EAB009F89A7 /* CourseDrawingRouter.swift in Sources */, CE14677829658C7200DCEA1B /* Stopwatch.swift in Sources */, + CE21C026299E5FF300F62AF5 /* CourseRouter.swift in Sources */, CE40BB22296806140030ABCA /* NetworkHelper.swift in Sources */, CE5645162961B72E000A2856 /* ImageLiterals.swift in Sources */, CE4942AD296FCD2300736701 /* UploadedCourseDetailResponseDto.swift in Sources */, @@ -1375,10 +1395,12 @@ DAD5A3D8296C6D9600C8166B /* AdImageCollectionViewCell.swift in Sources */, CE18E890296C76C100FEB569 /* RNLocationModel.swift in Sources */, CE6655DC295D873500C64E12 /* UIButton+.swift in Sources */, + CE21C02C299E601000F62AF5 /* ScrapRouter.swift in Sources */, CE6655D4295D865B00C64E12 /* Publisher+UIControl.swift in Sources */, CE0D9FD329648DA300CEB5CD /* CustomAlertVC.swift in Sources */, CEB841702963360800BF8080 /* CountDownVC.swift in Sources */, 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 */, @@ -1406,6 +1428,7 @@ CE6655E2295D87EB00C64E12 /* UIImage+.swift in Sources */, A3BC2F322962E0DB00198261 /* GoalRewardInfoModel.swift in Sources */, CEC2A68C2962AE1B00160BF7 /* RNStartMarker.swift in Sources */, + CE21C02A299E600600F62AF5 /* RecordRouter.swift in Sources */, CE5875A4296015D2005D967E /* Encodable+.swift in Sources */, A3BC2F4129667A0D00198261 /* NicknameEditorVC.swift in Sources */, CE0C23742966D62A00B45063 /* PagedView.swift in Sources */, @@ -1419,6 +1442,7 @@ CEC2A68E2962AF2C00160BF7 /* RNMarker.swift in Sources */, CE6655D2295D862A00C64E12 /* Publisher+Driver.swift in Sources */, CE4942AA296FCCFC00736701 /* UploadedCourseDetailRouter.swift in Sources */, + CE21C02E299E601700F62AF5 /* StampRouter.swift in Sources */, CE6655E6295D887F00C64E12 /* UIStackView+.swift in Sources */, A3BC2F34296303A600198261 /* GoalRewardInfoCVC.swift in Sources */, DA97A035296E685C0086760E /* CourseUploadingRouter.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift new file mode 100644 index 00000000..6515054b --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift @@ -0,0 +1,8 @@ +// +// CourseRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/PublicCourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/PublicCourseRouter.swift new file mode 100644 index 00000000..f436acf4 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/PublicCourseRouter.swift @@ -0,0 +1,8 @@ +// +// PublicCourseRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift new file mode 100644 index 00000000..e61f8e98 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift @@ -0,0 +1,8 @@ +// +// RecordRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift new file mode 100644 index 00000000..89dfa2a8 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift @@ -0,0 +1,8 @@ +// +// ScrapRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift new file mode 100644 index 00000000..ba00dfb5 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift @@ -0,0 +1,8 @@ +// +// StampRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift new file mode 100644 index 00000000..340adc98 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift @@ -0,0 +1,8 @@ +// +// UserRouter.swift +// Runnect-iOS +// +// Created by sejin on 2023/02/16. +// + +import Foundation From 29dfa2875c6e3a58ae44aa0a6c3a6c2f65c94bd1 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:06:15 +0900 Subject: [PATCH 2/7] =?UTF-8?q?[Refactor]=20#110=20-=20signUp=20API?= =?UTF-8?q?=EB=A5=BC=20UserRouter=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 ----- .../Router/SignInRouter/SignInRouter.swift | 52 ------------------- .../Network/Router/UserRouter.swift | 44 ++++++++++++++++ .../Presentation/SignIn/VC/SignInVC.swift | 4 +- 4 files changed, 46 insertions(+), 66 deletions(-) delete mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/SignInRouter/SignInRouter.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 39286e78..27920b01 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -129,7 +129,6 @@ CEC2A6902962B06C00160BF7 /* convertLocationObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC2A68F2962B06C00160BF7 /* convertLocationObject.swift */; }; CEC2A6922962BE2900160BF7 /* DepartureSearchVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC2A6912962BE2900160BF7 /* DepartureSearchVC.swift */; }; CECA695C296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECA695B296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift */; }; - CECBAD2F296C2F3C00AC8976 /* SignInRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECBAD2E296C2F3C00AC8976 /* SignInRouter.swift */; }; CEEC6B3A2961C4F300D00E1E /* CourseDrawingHomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B392961C4F300D00E1E /* CourseDrawingHomeVC.swift */; }; CEEC6B3C2961C51A00D00E1E /* CourseStorageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B3B2961C51A00D00E1E /* CourseStorageVC.swift */; }; CEEC6B3E2961C53700D00E1E /* CourseDiscoveryVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEEC6B3D2961C53700D00E1E /* CourseDiscoveryVC.swift */; }; @@ -286,7 +285,6 @@ CEC2A68F2962B06C00160BF7 /* convertLocationObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = convertLocationObject.swift; sourceTree = ""; }; CEC2A6912962BE2900160BF7 /* DepartureSearchVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DepartureSearchVC.swift; sourceTree = ""; }; CECA695B296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivateCourseNotUploadedResponseDto.swift; sourceTree = ""; }; - CECBAD2E296C2F3C00AC8976 /* SignInRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInRouter.swift; sourceTree = ""; }; CEEC6B392961C4F300D00E1E /* CourseDrawingHomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingHomeVC.swift; sourceTree = ""; }; CEEC6B3B2961C51A00D00E1E /* CourseStorageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseStorageVC.swift; sourceTree = ""; }; CEEC6B3D2961C53700D00E1E /* CourseDiscoveryVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDiscoveryVC.swift; sourceTree = ""; }; @@ -720,14 +718,6 @@ path = ResponseDto; sourceTree = ""; }; - CE40BB25296807FC0030ABCA /* SignInRouter */ = { - isa = PBXGroup; - children = ( - CECBAD2E296C2F3C00AC8976 /* SignInRouter.swift */, - ); - path = SignInRouter; - sourceTree = ""; - }; CE40BB26296808020030ABCA /* CourseDrawingRouter */ = { isa = PBXGroup; children = ( @@ -930,7 +920,6 @@ CE21C029299E600600F62AF5 /* RecordRouter.swift */, CE21C02B299E601000F62AF5 /* ScrapRouter.swift */, CE21C02D299E601700F62AF5 /* StampRouter.swift */, - CE40BB25296807FC0030ABCA /* SignInRouter */, CE40BB26296808020030ABCA /* CourseDrawingRouter */, CE40BB27296808290030ABCA /* CourseStorageRouter */, CE40BB28296808300030ABCA /* CourseDiscoveryRouter */, @@ -1407,7 +1396,6 @@ CE1006572968230800FD31FB /* DepartureLocationModel.swift in Sources */, CECA695C296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift in Sources */, CE6655EC295D88D000C64E12 /* UITableView+.swift in Sources */, - CECBAD2F296C2F3C00AC8976 /* SignInRouter.swift in Sources */, CEEC6B3A2961C4F300D00E1E /* CourseDrawingHomeVC.swift in Sources */, CEC2A6902962B06C00160BF7 /* convertLocationObject.swift in Sources */, CEC2A6852961F92C00160BF7 /* CustomButton.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/SignInRouter/SignInRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/SignInRouter/SignInRouter.swift deleted file mode 100644 index 49343eaa..00000000 --- a/Runnect-iOS/Runnect-iOS/Network/Router/SignInRouter/SignInRouter.swift +++ /dev/null @@ -1,52 +0,0 @@ -// -// SignInRouter.swift -// Runnect-iOS -// -// Created by sejin on 2023/01/09. -// - -import Foundation - -import Moya - -enum SignInRouter { - case signUp(nickname: String) -} - -extension SignInRouter: 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 .signUp: - return "/user" - } - } - - var method: Moya.Method { - switch self { - case .signUp: - return .post - } - } - - var task: Moya.Task { - switch self { - case .signUp(let nickname): - return .requestParameters(parameters: ["nickname": nickname], encoding: JSONEncoding.default) - } - } - - var headers: [String: String]? { - switch self { - case .signUp: - return Config.headerWithDeviceId - } - } -} diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift index 340adc98..2fc67454 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift @@ -6,3 +6,47 @@ // import Foundation + +import Moya + +enum UserRouter { + case signUp(nickname: String) +} + +extension UserRouter: 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 .signUp: + return "/user" + } + } + + var method: Moya.Method { + switch self { + case .signUp: + return .post + } + } + + var task: Moya.Task { + switch self { + case .signUp(let nickname): + return .requestParameters(parameters: ["nickname": nickname], encoding: JSONEncoding.default) + } + } + + var headers: [String: String]? { + switch self { + case .signUp: + return Config.headerWithDeviceId + } + } +} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInVC.swift index f2e39cc8..ffb4da29 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInVC.swift @@ -13,7 +13,7 @@ final class SignInVC: UIViewController { // MARK: - Properties - private var signInProvider = MoyaProvider( + private var userProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -152,7 +152,7 @@ extension SignInVC: UITextFieldDelegate { extension SignInVC { func signIn(nickname: String) { LoadingIndicator.showLoading() - signInProvider.request(.signUp(nickname: nickname)) { [weak self] response in + userProvider.request(.signUp(nickname: nickname)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { From 61a8ba3d99f6fda2e334ede2b0d76a3c44116995 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:13:48 +0900 Subject: [PATCH 3/7] =?UTF-8?q?[Refactor]=20#110=20-=20=EB=A7=88=EC=9D=B4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=EC=9D=98=20=EC=9D=BC=EB=B6=80=20API?= =?UTF-8?q?=EB=A5=BC=20UserRouter=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 --- .../Router/MyPageRouter/MyPageRouter.swift | 14 +++----------- .../Runnect-iOS/Network/Router/UserRouter.swift | 17 ++++++++++++----- .../Presentation/MyPage/VC/MyPageVC.swift | 4 ++-- .../MyPage/VC/NicknameEditorVC.swift | 4 ++-- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift index a9a1ada4..ca7408ba 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift @@ -10,11 +10,9 @@ import Foundation import Moya enum MyPageRouter { - case getMyPageInfo case getUploadedCourseInfo case getActivityRecordInfo case getGoalRewardInfo - case updateUserNickname(nickname: String) } extension MyPageRouter: TargetType { @@ -28,8 +26,6 @@ extension MyPageRouter: TargetType { var path: String { switch self { - case .getMyPageInfo, .updateUserNickname: - return "/user" case .getUploadedCourseInfo: return "/public-course/user" case .getActivityRecordInfo: @@ -41,25 +37,21 @@ extension MyPageRouter: TargetType { var method: Moya.Method { switch self { - case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return .get - case .updateUserNickname: - return .patch } } var task: Moya.Task { switch self { - case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: + case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return .requestPlain - case .updateUserNickname(let nickname): - return .requestParameters(parameters: ["nickname": nickname], encoding: JSONEncoding.default) } } var headers: [String: String]? { switch self { - case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo, .updateUserNickname: + case .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift index 2fc67454..3d330af3 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/UserRouter.swift @@ -11,6 +11,8 @@ import Moya enum UserRouter { case signUp(nickname: String) + case getMyPageInfo + case updateUserNickname(nickname: String) } extension UserRouter: TargetType { @@ -24,7 +26,7 @@ extension UserRouter: TargetType { var path: String { switch self { - case .signUp: + case .signUp, .getMyPageInfo, .updateUserNickname: return "/user" } } @@ -33,6 +35,10 @@ extension UserRouter: TargetType { switch self { case .signUp: return .post + case .getMyPageInfo: + return .get + case .updateUserNickname: + return .patch } } @@ -40,13 +46,14 @@ extension UserRouter: TargetType { switch self { case .signUp(let nickname): return .requestParameters(parameters: ["nickname": nickname], encoding: JSONEncoding.default) + case .getMyPageInfo: + return .requestPlain + case .updateUserNickname(let nickname): + return .requestParameters(parameters: ["nickname": nickname], encoding: JSONEncoding.default) } } var headers: [String: String]? { - switch self { - case .signUp: - return Config.headerWithDeviceId - } + return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift index 5815ef24..d66fb775 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift @@ -15,7 +15,7 @@ final class MyPageVC: UIViewController { // MARK: - Properties - private var myPageProvider = MoyaProvider( + private var userProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -347,7 +347,7 @@ extension MyPageVC: NicknameEditorVCDelegate { extension MyPageVC { func getMyPageInfo() { LoadingIndicator.showLoading() - myPageProvider.request(.getMyPageInfo) { [weak self] response in + userProvider.request(.getMyPageInfo) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/NicknameEditorVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/NicknameEditorVC.swift index 56f85bff..5bd10471 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/NicknameEditorVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/NicknameEditorVC.swift @@ -19,7 +19,7 @@ final class NicknameEditorVC: UIViewController { // MARK: - Properties - private var nicknameEditorProvider = MoyaProvider( + private var userProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -173,7 +173,7 @@ extension NicknameEditorVC: UITextFieldDelegate { extension NicknameEditorVC { func updateUserNickname(nickname: String) { LoadingIndicator.showLoading() - nicknameEditorProvider.request(.updateUserNickname(nickname: nickname)) { [weak self] response in + userProvider.request(.updateUserNickname(nickname: nickname)) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { From 248593a50e974801e12b0645503a9e1d0d2b34d3 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:24:16 +0900 Subject: [PATCH 4/7] =?UTF-8?q?[Refactor]=20#110=20-=20=EC=BD=94=EC=8A=A4?= =?UTF-8?q?=20=EA=B7=B8=EB=A6=AC=EA=B3=A0=20=EC=97=85=EB=A1=9C=EB=93=9C=20?= =?UTF-8?q?API=EB=A5=BC=20CourseRouter=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 | 4 - .../CourseDrawingRouter.swift | 83 ------------------- .../Network/Router/CourseRouter.swift | 75 +++++++++++++++++ .../CourseDrawing/VC/CourseDrawingVC.swift | 4 +- 4 files changed, 77 insertions(+), 89 deletions(-) delete mode 100644 Runnect-iOS/Runnect-iOS/Network/Router/CourseDrawingRouter/CourseDrawingRouter.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 27920b01..5e037255 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -49,7 +49,6 @@ CE21C02E299E601700F62AF5 /* StampRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE21C02D299E601700F62AF5 /* StampRouter.swift */; }; CE29D582296402B500F47542 /* CourseDrawingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE29D581296402B500F47542 /* CourseDrawingVC.swift */; }; CE29D584296416D800F47542 /* caculateStatusBarHeight.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE29D583296416D800F47542 /* caculateStatusBarHeight.swift */; }; - CE320F36296C8EAB009F89A7 /* CourseDrawingRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */; }; CE320F38296C8FAB009F89A7 /* CourseDrawingResponseData.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE320F37296C8FAB009F89A7 /* CourseDrawingResponseData.swift */; }; CE3A53C5296C6017003D518C /* KeychainManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3A53C4296C6017003D518C /* KeychainManager.swift */; }; CE40BB1C2967E4910030ABCA /* RunningWaitingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB1B2967E4910030ABCA /* RunningWaitingVC.swift */; }; @@ -201,7 +200,6 @@ CE21C02D299E601700F62AF5 /* StampRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StampRouter.swift; sourceTree = ""; }; CE29D581296402B500F47542 /* CourseDrawingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingVC.swift; sourceTree = ""; }; CE29D583296416D800F47542 /* caculateStatusBarHeight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = caculateStatusBarHeight.swift; sourceTree = ""; }; - CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingRouter.swift; sourceTree = ""; }; CE320F37296C8FAB009F89A7 /* CourseDrawingResponseData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingResponseData.swift; sourceTree = ""; }; CE3A53C4296C6017003D518C /* KeychainManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainManager.swift; sourceTree = ""; }; CE40BB1B2967E4910030ABCA /* RunningWaitingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningWaitingVC.swift; sourceTree = ""; }; @@ -722,7 +720,6 @@ isa = PBXGroup; children = ( CE40BB2C296808B00030ABCA /* DepartureSearchingRouter.swift */, - CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */, ); path = CourseDrawingRouter; sourceTree = ""; @@ -1323,7 +1320,6 @@ A3305A97296EF58C000B1A10 /* GoalRewardInfoDto.swift in Sources */, CE21C024299E5FE500F62AF5 /* UserRouter.swift in Sources */, CE6655F4295D898400C64E12 /* UIViewController+.swift in Sources */, - CE320F36296C8EAB009F89A7 /* CourseDrawingRouter.swift in Sources */, CE14677829658C7200DCEA1B /* Stopwatch.swift in Sources */, CE21C026299E5FF300F62AF5 /* CourseRouter.swift in Sources */, CE40BB22296806140030ABCA /* NetworkHelper.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseDrawingRouter/CourseDrawingRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseDrawingRouter/CourseDrawingRouter.swift deleted file mode 100644 index 946c81d3..00000000 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseDrawingRouter/CourseDrawingRouter.swift +++ /dev/null @@ -1,83 +0,0 @@ -// -// CourseDrawingRouter.swift -// Runnect-iOS -// -// Created by sejin on 2023/01/10. -// - -import Foundation - -import Moya - -enum CourseDrawingRouter { - case uploadCourseDrawing(param: CourseDrawingRequestDto) -} - -extension CourseDrawingRouter: 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 .uploadCourseDrawing: - return "/course" - } - } - - var method: Moya.Method { - switch self { - case .uploadCourseDrawing: - return .post - } - } - - var task: Moya.Task { - switch self { - case .uploadCourseDrawing(let param): - var multipartFormData: [MultipartFormData] = [] - - let imageData = MultipartFormData(provider: .data(param.image), - name: "image", fileName: "image.jpeg", - mimeType: "image/jpeg") - - multipartFormData.append(imageData) - - var content = [String: Any]() - - var path = [[String: Any]]() - - do { - for location in param.data.path { - let locationData = try location.asParameter() - path.append(locationData) - } - - content["path"] = path - content["distance"] = param.data.distance - content["departureAddress"] = param.data.departureAddress - content["departureName"] = param.data.departureName - - let jsonData = try JSONSerialization.data(withJSONObject: content) - let formData = MultipartFormData(provider: .data(jsonData), name: "data", mimeType: "application/json") - multipartFormData.append(formData) - } catch { - print(error.localizedDescription) - } - - return .uploadMultipart(multipartFormData) - } - } - - var headers: [String: String]? { - switch self { - case .uploadCourseDrawing: - return ["Content-Type": "multipart/form-data", - "machineId": Config.deviceId] - } - } -} diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift index 6515054b..1da1d5c0 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift @@ -6,3 +6,78 @@ // import Foundation + +import Moya + +enum CourseRouter { + case uploadCourseDrawing(param: CourseDrawingRequestDto) +} + +extension CourseRouter: 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 .uploadCourseDrawing: + return "/course" + } + } + + var method: Moya.Method { + switch self { + case .uploadCourseDrawing: + return .post + } + } + + var task: Moya.Task { + switch self { + case .uploadCourseDrawing(let param): + var multipartFormData: [MultipartFormData] = [] + + let imageData = MultipartFormData(provider: .data(param.image), + name: "image", fileName: "image.jpeg", + mimeType: "image/jpeg") + + multipartFormData.append(imageData) + + var content = [String: Any]() + + var path = [[String: Any]]() + + do { + for location in param.data.path { + let locationData = try location.asParameter() + path.append(locationData) + } + + content["path"] = path + content["distance"] = param.data.distance + content["departureAddress"] = param.data.departureAddress + content["departureName"] = param.data.departureName + + let jsonData = try JSONSerialization.data(withJSONObject: content) + let formData = MultipartFormData(provider: .data(jsonData), name: "data", mimeType: "application/json") + multipartFormData.append(formData) + } catch { + print(error.localizedDescription) + } + + return .uploadMultipart(multipartFormData) + } + } + + var headers: [String: String]? { + switch self { + case .uploadCourseDrawing: + return ["Content-Type": "multipart/form-data", + "machineId": Config.deviceId] + } + } +} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift index efc93c0c..9891e0ac 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift @@ -14,7 +14,7 @@ final class CourseDrawingVC: UIViewController { // MARK: - Properties - private let courseDrawingProvider = MoyaProvider( + private let courseProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -339,7 +339,7 @@ extension CourseDrawingVC { guard let requestDto = makecourseDrawingRequestDto() else { return } LoadingIndicator.showLoading() - courseDrawingProvider.request(.uploadCourseDrawing(param: requestDto)) {[weak self] response in + courseProvider.request(.uploadCourseDrawing(param: requestDto)) {[weak self] response in guard let self = self else { return } LoadingIndicator.hideLoading() switch response { From 20c14763a4dba0595823c9a8c49e6bbfc0b3d279 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:28:43 +0900 Subject: [PATCH 5/7] =?UTF-8?q?[Refactor]=20#110=20-=20=EC=BD=94=EC=8A=A4?= =?UTF-8?q?=20=EB=B3=B4=EA=B4=80=ED=95=A8=EC=9D=98=20=EC=BD=94=EC=8A=A4=20?= =?UTF-8?q?=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20API=EB=A5=BC=20CourseRou?= =?UTF-8?q?ter=EB=A1=9C=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS/Network/Router/CourseRouter.swift | 9 +++++++++ .../Router/CourseStorageRouter/CourseStorageRouter.swift | 9 +++------ .../Presentation/CourseStorage/VC/CourseStorageVC.swift | 6 +++++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift index 1da1d5c0..f896d721 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift @@ -11,6 +11,7 @@ import Moya enum CourseRouter { case uploadCourseDrawing(param: CourseDrawingRequestDto) + case getAllPrivateCourse } extension CourseRouter: TargetType { @@ -26,6 +27,8 @@ extension CourseRouter: TargetType { switch self { case .uploadCourseDrawing: return "/course" + case .getAllPrivateCourse: + return "/course/user" } } @@ -33,6 +36,8 @@ extension CourseRouter: TargetType { switch self { case .uploadCourseDrawing: return .post + case .getAllPrivateCourse: + return .get } } @@ -70,6 +75,8 @@ extension CourseRouter: TargetType { } return .uploadMultipart(multipartFormData) + case .getAllPrivateCourse: + return .requestPlain } } @@ -78,6 +85,8 @@ extension CourseRouter: TargetType { case .uploadCourseDrawing: return ["Content-Type": "multipart/form-data", "machineId": Config.deviceId] + case .getAllPrivateCourse: + return Config.headerWithDeviceId } } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift index b447f21c..3a55bc45 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 getAllPrivateCourse case getPrivateCourseNotUploaded case getScrapCourse } @@ -26,8 +25,6 @@ extension CourseStorageRouter: TargetType { var path: String { switch self { - case .getAllPrivateCourse: - return "/course/user" case .getPrivateCourseNotUploaded: return "/course/private/user" case .getScrapCourse: @@ -37,21 +34,21 @@ extension CourseStorageRouter: TargetType { var method: Moya.Method { switch self { - case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse: + case .getPrivateCourseNotUploaded, .getScrapCourse: return .get } } var task: Moya.Task { switch self { - case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse: + case .getPrivateCourseNotUploaded, .getScrapCourse: return .requestPlain } } var headers: [String: String]? { switch self { - case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse: + case .getPrivateCourseNotUploaded, .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 f2f0b30d..e7d70dde 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift @@ -14,6 +14,10 @@ final class CourseStorageVC: UIViewController { // MARK: - Properties + private let courseProvider = MoyaProvider( + plugins: [NetworkLoggerPlugin(verbose: true)] + ) + private let courseDetailProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -138,7 +142,7 @@ extension CourseStorageVC: ScrapCourseListViewDelegate { extension CourseStorageVC { private func getPrivateCourseList() { LoadingIndicator.showLoading() - courseStorageProvider.request(.getAllPrivateCourse) { [weak self] response in + courseProvider.request(.getAllPrivateCourse) { [weak self] response in guard let self = self else { return } LoadingIndicator.hideLoading() switch response { From 2ca81e09e629d42ee56ec37da6a146f7e1b48fd3 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:39:18 +0900 Subject: [PATCH 6/7] =?UTF-8?q?[Refactor]=20#110=20-=20=EC=97=85=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=ED=95=9C=20=EC=BD=94=EC=8A=A4=EB=A5=BC=20=EC=A0=9C?= =?UTF-8?q?=EC=99=B8=ED=95=9C=20=EB=82=B4=EA=B0=80=20=EA=B7=B8=EB=A6=B0=20?= =?UTF-8?q?=EC=BD=94=EC=8A=A4=20=EC=A1=B0=ED=9A=8C=20API=EB=A5=BC=20Course?= =?UTF-8?q?Router=EB=A1=9C=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS/Network/Router/CourseRouter.swift | 9 ++++++--- .../Router/CourseStorageRouter/CourseStorageRouter.swift | 9 +++------ .../CourseDiscovery/Views/VC/MyCourseSelectVC.swift | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift index f896d721..e2e95482 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift @@ -12,6 +12,7 @@ import Moya enum CourseRouter { case uploadCourseDrawing(param: CourseDrawingRequestDto) case getAllPrivateCourse + case getPrivateCourseNotUploaded } extension CourseRouter: TargetType { @@ -29,6 +30,8 @@ extension CourseRouter: TargetType { return "/course" case .getAllPrivateCourse: return "/course/user" + case .getPrivateCourseNotUploaded: + return "/course/private/user" } } @@ -36,7 +39,7 @@ extension CourseRouter: TargetType { switch self { case .uploadCourseDrawing: return .post - case .getAllPrivateCourse: + case .getAllPrivateCourse, .getPrivateCourseNotUploaded: return .get } } @@ -75,7 +78,7 @@ extension CourseRouter: TargetType { } return .uploadMultipart(multipartFormData) - case .getAllPrivateCourse: + case .getAllPrivateCourse, .getPrivateCourseNotUploaded: return .requestPlain } } @@ -85,7 +88,7 @@ extension CourseRouter: TargetType { case .uploadCourseDrawing: return ["Content-Type": "multipart/form-data", "machineId": Config.deviceId] - case .getAllPrivateCourse: + default: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseStorageRouter/CourseStorageRouter.swift index 3a55bc45..b69323ce 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 getPrivateCourseNotUploaded case getScrapCourse } @@ -25,8 +24,6 @@ extension CourseStorageRouter: TargetType { var path: String { switch self { - case .getPrivateCourseNotUploaded: - return "/course/private/user" case .getScrapCourse: return "/scrap/user" } @@ -34,21 +31,21 @@ extension CourseStorageRouter: TargetType { var method: Moya.Method { switch self { - case .getPrivateCourseNotUploaded, .getScrapCourse: + case .getScrapCourse: return .get } } var task: Moya.Task { switch self { - case .getPrivateCourseNotUploaded, .getScrapCourse: + case .getScrapCourse: return .requestPlain } } var headers: [String: String]? { switch self { - case .getPrivateCourseNotUploaded, .getScrapCourse: + case .getScrapCourse: return Config.headerWithDeviceId } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/MyCourseSelectVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/MyCourseSelectVC.swift index 84559b5b..902e38ca 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/MyCourseSelectVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/MyCourseSelectVC.swift @@ -14,7 +14,7 @@ class MyCourseSelectVC: UIViewController { // MARK: - Properties - private let courseStorageProvider = MoyaProvider( + private let courseProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -212,7 +212,7 @@ extension MyCourseSelectVC { private func getPrivateCourseNotUploaded() { self.selectedIndex = nil LoadingIndicator.showLoading() - courseStorageProvider.request(.getPrivateCourseNotUploaded) { [weak self] response in + courseProvider.request(.getPrivateCourseNotUploaded) { [weak self] response in LoadingIndicator.hideLoading() guard let self = self else { return } switch response { From 12a184d85a35a207b3b6943d9d972a8374a47201 Mon Sep 17 00:00:00 2001 From: Sejin Lee Date: Thu, 16 Feb 2023 22:44:42 +0900 Subject: [PATCH 7/7] =?UTF-8?q?[Refactor]=20getCourseDetail=20API=EB=A5=BC?= =?UTF-8?q?=20CourseRouter=EB=A1=9C=20=EC=9C=84=EC=B9=98=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS/Network/Router/CourseRouter.swift | 7 +++++-- .../Network/Router/RunningRouter/RunningRouter.swift | 9 +-------- .../Presentation/CourseDetail/VC/CourseDetailVC.swift | 4 ++-- .../Presentation/Running/VC/RunningWaitingVC.swift | 6 +++++- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift index e2e95482..16712503 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/CourseRouter.swift @@ -13,6 +13,7 @@ enum CourseRouter { case uploadCourseDrawing(param: CourseDrawingRequestDto) case getAllPrivateCourse case getPrivateCourseNotUploaded + case getCourseDetail(courseId: Int) } extension CourseRouter: TargetType { @@ -32,6 +33,8 @@ extension CourseRouter: TargetType { return "/course/user" case .getPrivateCourseNotUploaded: return "/course/private/user" + case .getCourseDetail(let courseId): + return "/course/detail/\(courseId)" } } @@ -39,7 +42,7 @@ extension CourseRouter: TargetType { switch self { case .uploadCourseDrawing: return .post - case .getAllPrivateCourse, .getPrivateCourseNotUploaded: + case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getCourseDetail: return .get } } @@ -78,7 +81,7 @@ extension CourseRouter: TargetType { } return .uploadMultipart(multipartFormData) - case .getAllPrivateCourse, .getPrivateCourseNotUploaded: + case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getCourseDetail: return .requestPlain } } diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift index b8dbe68a..a43e73b0 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/RunningRouter/RunningRouter.swift @@ -11,7 +11,6 @@ import Moya enum RunningRouter { case recordRunning(param: RunningRecordRequestDto) - case getCourseDetail(courseId: Int) } extension RunningRouter: TargetType { @@ -27,8 +26,6 @@ extension RunningRouter: TargetType { switch self { case .recordRunning: return "/record" - case .getCourseDetail(let courseId): - return "/course/detail/\(courseId)" } } @@ -36,8 +33,6 @@ extension RunningRouter: TargetType { switch self { case .recordRunning: return .post - case .getCourseDetail: - return .get } } @@ -49,14 +44,12 @@ extension RunningRouter: TargetType { } catch { fatalError(error.localizedDescription) } - case .getCourseDetail: - return .requestPlain } } var headers: [String: String]? { switch self { - case .recordRunning, .getCourseDetail: + case .recordRunning: 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 94ffa614..bfda381e 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift @@ -20,7 +20,7 @@ final class CourseDetailVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - private let runningProvider = MoyaProvider( + private let courseProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -323,7 +323,7 @@ extension CourseDetailVC { private func getCourseDetailWithPath(courseId: Int) { LoadingIndicator.showLoading() - runningProvider.request(.getCourseDetail(courseId: courseId)) { [weak self] response in + courseProvider.request(.getCourseDetail(courseId: courseId)) { [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 7e03c09b..354db18c 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningWaitingVC.swift @@ -18,6 +18,10 @@ final class RunningWaitingVC: UIViewController { private var publicCourseId: Int? private var courseModel: Course? + private let courseProvider = MoyaProvider( + plugins: [NetworkLoggerPlugin(verbose: true)] + ) + private let runningProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) @@ -181,7 +185,7 @@ extension RunningWaitingVC { private func getCourseDetail(courseId: Int) { LoadingIndicator.showLoading() - runningProvider.request(.getCourseDetail(courseId: courseId)) { [weak self] response in + courseProvider.request(.getCourseDetail(courseId: courseId)) { [weak self] response in guard let self = self else { return } LoadingIndicator.hideLoading() switch response {