Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 24 additions & 16 deletions Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,14 @@
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 */; };
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 */; };
Expand Down Expand Up @@ -123,7 +128,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 */; };
Expand Down Expand Up @@ -188,9 +192,14 @@
CE17F0372961BF8B00E1DED0 /* FontLiterals.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontLiterals.swift; sourceTree = "<group>"; };
CE18E88F296C76C100FEB569 /* RNLocationModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNLocationModel.swift; sourceTree = "<group>"; };
CE18E893296C79B900FEB569 /* CourseDrawingRequestDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingRequestDto.swift; sourceTree = "<group>"; };
CE21C023299E5FE500F62AF5 /* UserRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserRouter.swift; sourceTree = "<group>"; };
CE21C025299E5FF300F62AF5 /* CourseRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseRouter.swift; sourceTree = "<group>"; };
CE21C027299E5FFC00F62AF5 /* PublicCourseRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicCourseRouter.swift; sourceTree = "<group>"; };
CE21C029299E600600F62AF5 /* RecordRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordRouter.swift; sourceTree = "<group>"; };
CE21C02B299E601000F62AF5 /* ScrapRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrapRouter.swift; sourceTree = "<group>"; };
CE21C02D299E601700F62AF5 /* StampRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StampRouter.swift; sourceTree = "<group>"; };
CE29D581296402B500F47542 /* CourseDrawingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingVC.swift; sourceTree = "<group>"; };
CE29D583296416D800F47542 /* caculateStatusBarHeight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = caculateStatusBarHeight.swift; sourceTree = "<group>"; };
CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingRouter.swift; sourceTree = "<group>"; };
CE320F37296C8FAB009F89A7 /* CourseDrawingResponseData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingResponseData.swift; sourceTree = "<group>"; };
CE3A53C4296C6017003D518C /* KeychainManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainManager.swift; sourceTree = "<group>"; };
CE40BB1B2967E4910030ABCA /* RunningWaitingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningWaitingVC.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -274,7 +283,6 @@
CEC2A68F2962B06C00160BF7 /* convertLocationObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = convertLocationObject.swift; sourceTree = "<group>"; };
CEC2A6912962BE2900160BF7 /* DepartureSearchVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DepartureSearchVC.swift; sourceTree = "<group>"; };
CECA695B296E61D6002AF05C /* PrivateCourseNotUploadedResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivateCourseNotUploadedResponseDto.swift; sourceTree = "<group>"; };
CECBAD2E296C2F3C00AC8976 /* SignInRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInRouter.swift; sourceTree = "<group>"; };
CEEC6B392961C4F300D00E1E /* CourseDrawingHomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDrawingHomeVC.swift; sourceTree = "<group>"; };
CEEC6B3B2961C51A00D00E1E /* CourseStorageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseStorageVC.swift; sourceTree = "<group>"; };
CEEC6B3D2961C53700D00E1E /* CourseDiscoveryVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDiscoveryVC.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -708,19 +716,10 @@
path = ResponseDto;
sourceTree = "<group>";
};
CE40BB25296807FC0030ABCA /* SignInRouter */ = {
isa = PBXGroup;
children = (
CECBAD2E296C2F3C00AC8976 /* SignInRouter.swift */,
);
path = SignInRouter;
sourceTree = "<group>";
};
CE40BB26296808020030ABCA /* CourseDrawingRouter */ = {
isa = PBXGroup;
children = (
CE40BB2C296808B00030ABCA /* DepartureSearchingRouter.swift */,
CE320F35296C8EAB009F89A7 /* CourseDrawingRouter.swift */,
);
path = CourseDrawingRouter;
sourceTree = "<group>";
Expand Down Expand Up @@ -912,7 +911,12 @@
CE6655AD295D7FEA00C64E12 /* Router */ = {
isa = PBXGroup;
children = (
CE40BB25296807FC0030ABCA /* SignInRouter */,
CE21C023299E5FE500F62AF5 /* UserRouter.swift */,
CE21C025299E5FF300F62AF5 /* CourseRouter.swift */,
CE21C027299E5FFC00F62AF5 /* PublicCourseRouter.swift */,
CE21C029299E600600F62AF5 /* RecordRouter.swift */,
CE21C02B299E601000F62AF5 /* ScrapRouter.swift */,
CE21C02D299E601700F62AF5 /* StampRouter.swift */,
CE40BB26296808020030ABCA /* CourseDrawingRouter */,
CE40BB27296808290030ABCA /* CourseStorageRouter */,
CE40BB28296808300030ABCA /* CourseDiscoveryRouter */,
Expand Down Expand Up @@ -1314,9 +1318,10 @@
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 */,
Expand Down Expand Up @@ -1375,17 +1380,18 @@
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 */,
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 */,
Expand All @@ -1406,6 +1412,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 */,
Expand All @@ -1419,6 +1426,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 */,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
//
// CourseDrawingRouter.swift
// CourseRouter.swift
// Runnect-iOS
//
// Created by sejin on 2023/01/10.
// Created by sejin on 2023/02/16.
//

import Foundation

import Moya

enum CourseDrawingRouter {
enum CourseRouter {
case uploadCourseDrawing(param: CourseDrawingRequestDto)
case getAllPrivateCourse
case getPrivateCourseNotUploaded
case getCourseDetail(courseId: Int)
}

extension CourseDrawingRouter: TargetType {
extension CourseRouter: TargetType {
var baseURL: URL {
guard let url = URL(string: Config.baseURL) else {
fatalError("baseURL could not be configured")
Expand All @@ -26,13 +29,21 @@ extension CourseDrawingRouter: TargetType {
switch self {
case .uploadCourseDrawing:
return "/course"
case .getAllPrivateCourse:
return "/course/user"
case .getPrivateCourseNotUploaded:
return "/course/private/user"
case .getCourseDetail(let courseId):
return "/course/detail/\(courseId)"
}
}

var method: Moya.Method {
switch self {
case .uploadCourseDrawing:
return .post
case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getCourseDetail:
return .get
}
}

Expand All @@ -56,7 +67,7 @@ extension CourseDrawingRouter: TargetType {
let locationData = try location.asParameter()
path.append(locationData)
}

content["path"] = path
content["distance"] = param.data.distance
content["departureAddress"] = param.data.departureAddress
Expand All @@ -70,6 +81,8 @@ extension CourseDrawingRouter: TargetType {
}

return .uploadMultipart(multipartFormData)
case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getCourseDetail:
return .requestPlain
}
}

Expand All @@ -78,6 +91,8 @@ extension CourseDrawingRouter: TargetType {
case .uploadCourseDrawing:
return ["Content-Type": "multipart/form-data",
"machineId": Config.deviceId]
default:
return Config.headerWithDeviceId
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import Foundation
import Moya

enum CourseStorageRouter {
case getAllPrivateCourse
case getPrivateCourseNotUploaded
case getScrapCourse
}

Expand All @@ -26,32 +24,28 @@ extension CourseStorageRouter: TargetType {

var path: String {
switch self {
case .getAllPrivateCourse:
return "/course/user"
case .getPrivateCourseNotUploaded:
return "/course/private/user"
case .getScrapCourse:
return "/scrap/user"
}
}

var method: Moya.Method {
switch self {
case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse:
case .getScrapCourse:
return .get
}
}

var task: Moya.Task {
switch self {
case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse:
case .getScrapCourse:
return .requestPlain
}
}

var headers: [String: String]? {
switch self {
case .getAllPrivateCourse, .getPrivateCourseNotUploaded, .getScrapCourse:
case .getScrapCourse:
return Config.headerWithDeviceId
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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:
Expand All @@ -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
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// PublicCourseRouter.swift
// Runnect-iOS
//
// Created by sejin on 2023/02/16.
//

import Foundation
8 changes: 8 additions & 0 deletions Runnect-iOS/Runnect-iOS/Network/Router/RecordRouter.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// RecordRouter.swift
// Runnect-iOS
//
// Created by sejin on 2023/02/16.
//

import Foundation
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import Moya

enum RunningRouter {
case recordRunning(param: RunningRecordRequestDto)
case getCourseDetail(courseId: Int)
}

extension RunningRouter: TargetType {
Expand All @@ -27,17 +26,13 @@ extension RunningRouter: TargetType {
switch self {
case .recordRunning:
return "/record"
case .getCourseDetail(let courseId):
return "/course/detail/\(courseId)"
}
}

var method: Moya.Method {
switch self {
case .recordRunning:
return .post
case .getCourseDetail:
return .get
}
}

Expand All @@ -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
}
}
Expand Down
8 changes: 8 additions & 0 deletions Runnect-iOS/Runnect-iOS/Network/Router/ScrapRouter.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// ScrapRouter.swift
// Runnect-iOS
//
// Created by sejin on 2023/02/16.
//

import Foundation
8 changes: 8 additions & 0 deletions Runnect-iOS/Runnect-iOS/Network/Router/StampRouter.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// StampRouter.swift
// Runnect-iOS
//
// Created by sejin on 2023/02/16.
//

import Foundation
Loading