Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network [#89] 챌린지 관련 서버 통신 #92

Merged
merged 14 commits into from
Jan 16, 2024
Merged
48 changes: 38 additions & 10 deletions HMH_iOS/HMH_iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,12 @@
17CF9FC92B4EE964000DD09C /* AppUsingProgressViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9FC82B4EE964000DD09C /* AppUsingProgressViewCell.swift */; };
17CF9FCF2B4F1A91000DD09C /* MyGoalTimeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9FCE2B4F1A91000DD09C /* MyGoalTimeCell.swift */; };
17CF9FD12B4F31C0000DD09C /* BlackHoleImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9FD02B4F31C0000DD09C /* BlackHoleImageCell.swift */; };
360D11082B536746008BE85A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 360D11072B536746008BE85A /* Assets.xcassets */; };
360D110E2B541DB4008BE85A /* UserDefault+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D110D2B541DB4008BE85A /* UserDefault+.swift */; };
360D11102B5443FD008BE85A /* ActivityReport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D110F2B5443FD008BE85A /* ActivityReport.swift */; };
17CF9FDE2B52F86A000DD09C /* GetUserDataResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9FDD2B52F86A000DD09C /* GetUserDataResponseDTO.swift */; };
17CF9FE02B52FA26000DD09C /* MyPageRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9FDF2B52FA26000DD09C /* MyPageRouter.swift */; };
360D11022B5343C6008BE85A /* requestPermision.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D11012B5343C6008BE85A /* requestPermision.swift */; };
360D11042B53465B008BE85A /* UIApplication+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D11032B53465B008BE85A /* UIApplication+.swift */; };
360D11082B536746008BE85A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 360D11072B536746008BE85A /* Assets.xcassets */; };
360D110E2B541DB4008BE85A /* UserDefault+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D110D2B541DB4008BE85A /* UserDefault+.swift */; };
360D11102B5443FD008BE85A /* ActivityReport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360D110F2B5443FD008BE85A /* ActivityReport.swift */; };
363863BA2B50782E000FE5E7 /* CreateChallengeResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363863B92B50782E000FE5E7 /* CreateChallengeResponseDTO.swift */; };
363863BD2B5129F2000FE5E7 /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = 363863BC2B5129F2000FE5E7 /* Lottie */; };
364923602B4ED47000BF7ACA /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3649235F2B4ED47000BF7ACA /* SwiftUIView.swift */; };
Expand Down Expand Up @@ -164,6 +163,14 @@
36E531F22B4D249700B4BBE3 /* GoalTimeSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E531F12B4D249700B4BBE3 /* GoalTimeSelectViewController.swift */; };
36E531F42B4D24CF00B4BBE3 /* GoalTimeSelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E531F32B4D24CF00B4BBE3 /* GoalTimeSelectView.swift */; };
36E531FC2B4DCEB300B4BBE3 /* AppSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E531FB2B4DCEB300B4BBE3 /* AppSelectionViewController.swift */; };
36F2983E2B55766300C1C903 /* OnboardingGoalTimeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F2983D2B55766300C1C903 /* OnboardingGoalTimeViewController.swift */; };
36F298402B558A8C00C1C903 /* AddAppRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F2983F2B558A8C00C1C903 /* AddAppRequestDTO.swift */; };
36F298422B558A9C00C1C903 /* DeleteAppRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F298412B558A9C00C1C903 /* DeleteAppRequestDTO.swift */; };
36F298442B558ABC00C1C903 /* MidnightRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F298432B558ABC00C1C903 /* MidnightRequestDTO.swift */; };
36F298462B55965700C1C903 /* GetChallengeResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F298452B55965700C1C903 /* GetChallengeResponseDTO.swift */; };
36F298482B55974200C1C903 /* HomeChallengeResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F298472B55974200C1C903 /* HomeChallengeResponseDTO.swift */; };
36F2984A2B55977900C1C903 /* AddAppResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F298492B55977900C1C903 /* AddAppResponseDTO.swift */; };
36F2984E2B5599F500C1C903 /* EmptyResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F2984D2B5599F500C1C903 /* EmptyResponseDTO.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -292,13 +299,12 @@
17CF9FC82B4EE964000DD09C /* AppUsingProgressViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUsingProgressViewCell.swift; sourceTree = "<group>"; };
17CF9FCE2B4F1A91000DD09C /* MyGoalTimeCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyGoalTimeCell.swift; sourceTree = "<group>"; };
17CF9FD02B4F31C0000DD09C /* BlackHoleImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlackHoleImageCell.swift; sourceTree = "<group>"; };
360D11072B536746008BE85A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
360D110D2B541DB4008BE85A /* UserDefault+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefault+.swift"; sourceTree = "<group>"; };
360D110F2B5443FD008BE85A /* ActivityReport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityReport.swift; sourceTree = "<group>"; };
17CF9FDD2B52F86A000DD09C /* GetUserDataResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetUserDataResponseDTO.swift; sourceTree = "<group>"; };
17CF9FDF2B52FA26000DD09C /* MyPageRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageRouter.swift; sourceTree = "<group>"; };
360D11012B5343C6008BE85A /* requestPermision.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = requestPermision.swift; sourceTree = "<group>"; };
360D11032B53465B008BE85A /* UIApplication+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+.swift"; sourceTree = "<group>"; };
360D11072B536746008BE85A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
360D110D2B541DB4008BE85A /* UserDefault+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefault+.swift"; sourceTree = "<group>"; };
360D110F2B5443FD008BE85A /* ActivityReport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityReport.swift; sourceTree = "<group>"; };
363863B92B50782E000FE5E7 /* CreateChallengeResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateChallengeResponseDTO.swift; sourceTree = "<group>"; };
3649235F2B4ED47000BF7ACA /* SwiftUIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIView.swift; sourceTree = "<group>"; };
364923612B4F4E7D00BF7ACA /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; };
Expand Down Expand Up @@ -377,6 +383,14 @@
36E531F12B4D249700B4BBE3 /* GoalTimeSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoalTimeSelectViewController.swift; sourceTree = "<group>"; };
36E531F32B4D24CF00B4BBE3 /* GoalTimeSelectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoalTimeSelectView.swift; sourceTree = "<group>"; };
36E531FB2B4DCEB300B4BBE3 /* AppSelectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppSelectionViewController.swift; sourceTree = "<group>"; };
36F2983D2B55766300C1C903 /* OnboardingGoalTimeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingGoalTimeViewController.swift; sourceTree = "<group>"; };
36F2983F2B558A8C00C1C903 /* AddAppRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAppRequestDTO.swift; sourceTree = "<group>"; };
36F298412B558A9C00C1C903 /* DeleteAppRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteAppRequestDTO.swift; sourceTree = "<group>"; };
36F298432B558ABC00C1C903 /* MidnightRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MidnightRequestDTO.swift; sourceTree = "<group>"; };
36F298452B55965700C1C903 /* GetChallengeResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetChallengeResponseDTO.swift; sourceTree = "<group>"; };
36F298472B55974200C1C903 /* HomeChallengeResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeChallengeResponseDTO.swift; sourceTree = "<group>"; };
36F298492B55977900C1C903 /* AddAppResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAppResponseDTO.swift; sourceTree = "<group>"; };
36F2984D2B5599F500C1C903 /* EmptyResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyResponseDTO.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -588,6 +602,7 @@
0B78174D2B4BD96D0078E925 /* OnboardingBaseViewControllers.swift */,
0BA193B32B4D089C007E3F9C /* TimeSurveyViewController.swift */,
0BA193B52B4D08B7007E3F9C /* ProblemSurveyViewController.swift */,
36F2983D2B55766300C1C903 /* OnboardingGoalTimeViewController.swift */,
0BFD2FB32B4EE71900C6327F /* SignInCompleteViewController.swift */,
);
path = ViewControllers;
Expand All @@ -605,7 +620,6 @@
3666C88C2B471B1D00564874 /* UIImage+.swift */,
0B17D3F02B51AD4B00CFA3B7 /* UIViewController+.swift */,
360D110D2B541DB4008BE85A /* UserDefault+.swift */,
360D11032B53465B008BE85A /* UIApplication+.swift */,
);
path = Extension;
sourceTree = "<group>";
Expand Down Expand Up @@ -985,6 +999,13 @@
children = (
3649239F2B505F2000BF7ACA /* CreateChallengeRequestDTO.swift */,
363863B92B50782E000FE5E7 /* CreateChallengeResponseDTO.swift */,
36F2983F2B558A8C00C1C903 /* AddAppRequestDTO.swift */,
36F298412B558A9C00C1C903 /* DeleteAppRequestDTO.swift */,
36F298432B558ABC00C1C903 /* MidnightRequestDTO.swift */,
36F298452B55965700C1C903 /* GetChallengeResponseDTO.swift */,
36F298472B55974200C1C903 /* HomeChallengeResponseDTO.swift */,
36F298492B55977900C1C903 /* AddAppResponseDTO.swift */,
36F2984D2B5599F500C1C903 /* EmptyResponseDTO.swift */,
);
path = ChallengeModel;
sourceTree = "<group>";
Expand Down Expand Up @@ -1334,6 +1355,7 @@
3666C8A12B485CC800564874 /* TitleCollectionReusableView.swift in Sources */,
36E05FE42B487911005B633E /* GrayBackgroundView.swift in Sources */,
364923602B4ED47000BF7ACA /* SwiftUIView.swift in Sources */,
36F2984A2B55977900C1C903 /* AddAppResponseDTO.swift in Sources */,
0B50F9CF2B369813000C5046 /* HomeViewController.swift in Sources */,
0B2C2D412B4572240023CCFA /* HMHSelectButton.swift in Sources */,
0B8A89BC2B369F2D00688BA6 /* UIView+.swift in Sources */,
Expand All @@ -1350,6 +1372,7 @@
36A3D9C02B409CBD007EA272 /* Font.swift in Sources */,
0B17D3F12B51AD4B00CFA3B7 /* UIViewController+.swift in Sources */,
174AF4902B447B3C00450D07 /* MyPageModels.swift in Sources */,
36F298482B55974200C1C903 /* HomeChallengeResponseDTO.swift in Sources */,
174AF4982B447CF100450D07 /* ChanllengeModels.swift in Sources */,
17CF9FBD2B4DC757000DD09C /* HMHHomeView.swift in Sources */,
364923932B50397100BF7ACA /* NetworkHelper.swift in Sources */,
Expand All @@ -1366,6 +1389,7 @@
3666C8892B47110800564874 /* HMHTimePickerView.swift in Sources */,
0B1AE81B2B531A3E00CF5154 /* SocialLoginRequestDTO.swift in Sources */,
0B000CE92B4D9D6E00AEC582 /* SelectPeriodController.swift in Sources */,
36F298442B558ABC00C1C903 /* MidnightRequestDTO.swift in Sources */,
174AF49A2B447CFB00450D07 /* ChanllengeViews.swift in Sources */,
17CF9FC92B4EE964000DD09C /* AppUsingProgressViewCell.swift in Sources */,
0B000CEB2B4D9D9100AEC582 /* SelectTotalTimeController.swift in Sources */,
Expand Down Expand Up @@ -1403,11 +1427,13 @@
0B8A89B12B369E4C00688BA6 /* HomeView.swift in Sources */,
0BB0AE522B55065300C647AE /* LogoutResponseDTO.swift in Sources */,
0BFD2FB42B4EE71900C6327F /* SignInCompleteViewController.swift in Sources */,
360D11042B53465B008BE85A /* UIApplication+.swift in Sources */,
36F298422B558A9C00C1C903 /* DeleteAppRequestDTO.swift in Sources */,
3649239B2B505B2600BF7ACA /* Providers.swift in Sources */,
36A3D9B62B3EBBF7007EA272 /* Adjust+.swift in Sources */,
36F298402B558A8C00C1C903 /* AddAppRequestDTO.swift in Sources */,
36A3D9BC2B3EBD2D007EA272 /* UIScreen+.swift in Sources */,
0B7817502B4BD9F10078E925 /* OnboardingButton.swift in Sources */,
36F2983E2B55766300C1C903 /* OnboardingGoalTimeViewController.swift in Sources */,
364923792B4FC8E800BF7ACA /* BaseModel.swift in Sources */,
364923722B4F527200BF7ACA /* NetworkResult.swift in Sources */,
0B50F9CD2B369813000C5046 /* SceneDelegate.swift in Sources */,
Expand All @@ -1428,13 +1454,15 @@
0B000CF12B4DA30F00AEC582 /* AppSelectViewController.swift in Sources */,
36A3D9BA2B3EBC65007EA272 /* UIButton+.swift in Sources */,
3666C88F2B471C5800564874 /* TabBarController.swift in Sources */,
36F298462B55965700C1C903 /* GetChallengeResponseDTO.swift in Sources */,
36E531F42B4D24CF00B4BBE3 /* GoalTimeSelectView.swift in Sources */,
36E531C92B4C798100B4BBE3 /* MyStore.swift in Sources */,
36E05FE62B48825A005B633E /* AppCollectionReusableView.swift in Sources */,
0B1AE81D2B531A6C00CF5154 /* SocialLoginResponseDTO.swift in Sources */,
3666C88B2B471B0D00564874 /* String.swift in Sources */,
17CF9FCF2B4F1A91000DD09C /* MyGoalTimeCell.swift in Sources */,
3666C89B2B48516500564874 /* ChallengeView.swift in Sources */,
36F2984E2B5599F500C1C903 /* EmptyResponseDTO.swift in Sources */,
36E531F22B4D249700B4BBE3 /* GoalTimeSelectViewController.swift in Sources */,
367B42542B51DFD400B917CD /* AppSelectionViewController.swift in Sources */,
3666C88D2B471B1D00564874 /* UIImage+.swift in Sources */,
Expand Down
25 changes: 0 additions & 25 deletions HMH_iOS/HMH_iOS/Global/Extension/UIApplication+.swift

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ let userNotiCenter = UNUserNotificationCenter.current()

private func requestAuthorization() {
if !(authorizationCenter.authorizationStatus == .approved) {
UIApplication.topViewController()?.view.showToast(message: "스크린타임 권한 설정이 필요해요!", at: 100)
Task {
do {
try await authorizationCenter.requestAuthorization(for: .individual)
Expand All @@ -28,7 +27,6 @@ private func requestAuthorization() {
func requestAuthNoti() {
userNotiCenter.requestAuthorization(options: [.alert, .badge, .sound], completionHandler: { didAllow, error in
if !didAllow {
UIApplication.topViewController()?.view.showToast(message: "푸시 알림 설정이 필요해요!", at: 100)
}
})
}
Expand Down
3 changes: 2 additions & 1 deletion HMH_iOS/HMH_iOS/Network/Base/NetworkProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ class NetworkProvider<Provider : TargetType> : MoyaProvider<Provider> {
switch result {
/// 서버 통신 성공
case .success(let response):
if (200..<300).contains(response.statusCode) {
if (200..<300).contains(response.statusCode) ||
response.statusCode == 403 {
if let decodeData = try? JSONDecoder().decode(instance, from: response.data) {
completion(decodeData)
} else{
Expand Down
12 changes: 12 additions & 0 deletions HMH_iOS/HMH_iOS/Network/DTO/ChallengeModel/AddAppRequestDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// AddAppRequestDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct AddAppRequestDTO: Codable {
let apps: [App]
}
12 changes: 12 additions & 0 deletions HMH_iOS/HMH_iOS/Network/DTO/ChallengeModel/AddAppResponseDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// AddAppResponseDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct AddAppResponseDTO: Codable {
let apps: [App]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// DeleteAppRequestDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct DeleteAppRequestDTO: Codable {
let appCode: String
}
10 changes: 10 additions & 0 deletions HMH_iOS/HMH_iOS/Network/DTO/ChallengeModel/EmptyResponseDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//
// EmptyResponseDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct EmptyResponseDTO: Codable { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//
// getChallengeResponseDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct GetChallengeResponseDTO: Codable {
let period: Int
let statuses: [String]
let todayIndex: Int
let goalTime: Int
let apps: [App]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// HomeChallengeResponseDTO.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct HomeChallengeResponseDTO: Codable {
let apps: [App]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//
// Midnight.swift
// HMH_iOS
//
// Created by 지희의 MAC on 1/16/24.
//

import Foundation

struct MidnightRequestDTO: Codable {
let apps: [App]
}
15 changes: 15 additions & 0 deletions HMH_iOS/HMH_iOS/Network/Router/AuthRouter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,19 @@ extension AuthRouter: BaseTargetType {
return .requestPlain
}
}

var validationType: ValidationType {
switch self {
case .socialLogin(data:_) :
return .none
case .signUp(data:_):
return .successCodes
case .tokenRefresh:
return .successCodes
case .revoke:
return .successCodes
case .logout:
return .successCodes
}
}
}
Loading