diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index 6f81d4d2..d07169e8 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -48,6 +48,7 @@ 785AE1C02C2E878600677CA0 /* FirebaseVertexAI-Preview in Frameworks */ = {isa = PBXBuildFile; productRef = 785AE1BF2C2E878600677CA0 /* FirebaseVertexAI-Preview */; }; 785AE1D12C3B07A600677CA0 /* PrivacyInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 785AE1D02C3B07A600677CA0 /* PrivacyInfo.plist */; }; 789196362C492F8600FF8CDF /* AuthTargetType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789196352C492F8600FF8CDF /* AuthTargetType.swift */; }; + 789196382C49697B00FF8CDF /* AuthError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789196372C49697B00FF8CDF /* AuthError.swift */; }; 789873322C3D1A7B00435E96 /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7898732F2C3D1A7B00435E96 /* LoginViewController.swift */; }; 789873332C3D1A7B00435E96 /* LoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789873302C3D1A7B00435E96 /* LoginViewModel.swift */; }; 789873342C3D1A7B00435E96 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789873312C3D1A7B00435E96 /* LoginView.swift */; }; @@ -239,6 +240,7 @@ 782B40812C3E4925008B0CA7 /* NicknameViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NicknameViewModel.swift; sourceTree = ""; }; 785AE1D02C3B07A600677CA0 /* PrivacyInfo.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = PrivacyInfo.plist; sourceTree = ""; }; 789196352C492F8600FF8CDF /* AuthTargetType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthTargetType.swift; sourceTree = ""; }; + 789196372C49697B00FF8CDF /* AuthError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthError.swift; sourceTree = ""; }; 7898732F2C3D1A7B00435E96 /* LoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = ""; }; 789873302C3D1A7B00435E96 /* LoginViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewModel.swift; sourceTree = ""; }; 789873312C3D1A7B00435E96 /* LoginView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = ""; }; @@ -514,6 +516,15 @@ path = ViewModel; sourceTree = ""; }; + 789196392C49697F00FF8CDF /* Auth */ = { + isa = PBXGroup; + children = ( + 789196372C49697B00FF8CDF /* AuthError.swift */, + 789196352C492F8600FF8CDF /* AuthTargetType.swift */, + ); + path = Auth; + sourceTree = ""; + }; 789873352C3D1B3000435E96 /* View */ = { isa = PBXGroup; children = ( @@ -1122,7 +1133,7 @@ DDE7D2BE2C470A58005A921F /* TargetType */ = { isa = PBXGroup; children = ( - 789196352C492F8600FF8CDF /* AuthTargetType.swift */, + 789196392C49697F00FF8CDF /* Auth */, DDE7D2BF2C470A58005A921F /* LoginTargetType.swift */, DDE7D2C02C470A58005A921F /* ProfileTargetType.swift */, DDE7D2C12C470A58005A921F /* NicknameTargetType.swift */, @@ -1703,6 +1714,7 @@ DD8626622C4606A300E4F980 /* ReadyStatusViewModel.swift in Sources */, DD3F9DC22C481ED5008E1FF7 /* MeetingService.swift in Sources */, DE6D4D102C3F14D80005584B /* InvitationCodePopUpView.swift in Sources */, + 789196382C49697B00FF8CDF /* AuthError.swift in Sources */, A39F2B1B2C47C206008DA5F5 /* SetReadyCompletedViewController.swift in Sources */, DDFA50812C4693BD000A62E2 /* ProfileSetupViewController.swift in Sources */, DD30721A2C3C011600416D9F /* AddPromiseRequestModel.swift in Sources */, diff --git a/KkuMulKum/Network/Service/AuthService.swift b/KkuMulKum/Network/Service/AuthService.swift index 4aa6ed78..4f19525c 100644 --- a/KkuMulKum/Network/Service/AuthService.swift +++ b/KkuMulKum/Network/Service/AuthService.swift @@ -55,12 +55,7 @@ class AuthService: AuthServiceType { func performRequest( _ target: AuthTargetType, - completion: @escaping ( - Result< - T, - NetworkError - > - ) -> Void + completion: @escaping (Result) -> Void ) { provider.request(target) { result in switch result { diff --git a/KkuMulKum/Network/TargetType/Auth/AuthError.swift b/KkuMulKum/Network/TargetType/Auth/AuthError.swift new file mode 100644 index 00000000..7081a6f6 --- /dev/null +++ b/KkuMulKum/Network/TargetType/Auth/AuthError.swift @@ -0,0 +1,34 @@ +// +// AuthError.swift +// KkuMulKum +// +// Created by 이지훈 on 7/19/24. +// + +import Foundation + +enum NetworkError: Error { + case invalidImageFormat + case imageSizeExceeded + case userNotFound + case decodingError + case networkError + case unknownError(String) + + var message: String { + switch self { + case .invalidImageFormat: + return "이미지 확장자는 jpg, png, webp만 가능합니다." + case .imageSizeExceeded: + return "이미지 사이즈는 5MB를 넘을 수 없습니다." + case .userNotFound: + return "유저를 찾을 수 없습니다." + case .decodingError: + return "데이터 디코딩 중 오류가 발생했습니다." + case .networkError: + return "네트워크 오류가 발생했습니다." + case .unknownError(let message): + return message + } + } +} diff --git a/KkuMulKum/Network/TargetType/AuthTargetType.swift b/KkuMulKum/Network/TargetType/Auth/AuthTargetType.swift similarity index 80% rename from KkuMulKum/Network/TargetType/AuthTargetType.swift rename to KkuMulKum/Network/TargetType/Auth/AuthTargetType.swift index 7a144154..77b2da79 100644 --- a/KkuMulKum/Network/TargetType/AuthTargetType.swift +++ b/KkuMulKum/Network/TargetType/Auth/AuthTargetType.swift @@ -9,32 +9,6 @@ import Foundation import Moya -enum NetworkError: Error { - case invalidImageFormat - case imageSizeExceeded - case userNotFound - case decodingError - case networkError - case unknownError(String) - - var message: String { - switch self { - case .invalidImageFormat: - return "이미지 확장자는 jpg, png, webp만 가능합니다." - case .imageSizeExceeded: - return "이미지 사이즈는 5MB를 넘을 수 없습니다." - case .userNotFound: - return "유저를 찾을 수 없습니다." - case .decodingError: - return "데이터 디코딩 중 오류가 발생했습니다." - case .networkError: - return "네트워크 오류가 발생했습니다." - case .unknownError(let message): - return message - } - } -} - enum AuthTargetType { case appleLogin(identityToken: String, fcmToken: String) case kakaoLogin(accessToken: String, fcmToken: String)