From 5f0b8486e4db9e2ff4a2efe2dc65e68bba2f733b Mon Sep 17 00:00:00 2001 From: hyun99999 Date: Sat, 22 Apr 2023 11:25:48 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=ED=99=95=EC=9D=B8=ED=96=88?= =?UTF-8?q?=EC=96=B4=EC=9A=94=20API=20=EA=B5=AC=ED=98=84=20(#454)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/NetworkService/Update/UpdateAPI.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateAPI.swift index 4aaea6dd..ad9bb08f 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateAPI.swift @@ -45,6 +45,21 @@ public final class UpdateAPI { } } + func checkUpdateNote(isChecked: Bool, completion: @escaping (NetworkResult) -> Void) { + updateProvider.request(.checkUpdateNote(isChecked: isChecked)) { result in + switch result { + case .success(let response): + let statusCode = response.statusCode + let data = response.data + + let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self) + completion(networkResult) + case .failure(let err): + print(err) + } + } + } + // MARK: - judgeStatus methods private func judgeStatus(by statusCode: Int, data: Data, type: T.Type) -> NetworkResult { From 7b3008453f991d185c0610782b36f5f77645c9a7 Mon Sep 17 00:00:00 2001 From: hyun99999 Date: Sat, 22 Apr 2023 11:25:55 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=ED=99=95=EC=9D=B8=ED=96=88?= =?UTF-8?q?=EC=96=B4=EC=9A=94=20Service=20=EA=B5=AC=ED=98=84=20(#454)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/NetworkService/Update/UpdateService.swift | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateService.swift index 72ed4580..bc41525d 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Update/UpdateService.swift @@ -12,6 +12,7 @@ import Moya enum UpdateService { case updateUserInfoFetch case updateNoteFetch + case checkUpdateNote(isChecked: Bool) } extension UpdateService: TargetType { @@ -29,6 +30,8 @@ extension UpdateService: TargetType { return "/app/update" case .updateNoteFetch: return "/app/update/note" + case .checkUpdateNote: + return "/app/update/check" } } @@ -36,6 +39,8 @@ extension UpdateService: TargetType { switch self { case .updateUserInfoFetch, .updateNoteFetch: return .get + case .checkUpdateNote: + return .post } } @@ -43,12 +48,15 @@ extension UpdateService: TargetType { switch self { case .updateUserInfoFetch, .updateNoteFetch: return .requestPlain + case .checkUpdateNote(let isChecked): + return .requestParameters(parameters: ["checkUpdateNote": isChecked], + encoding: URLEncoding.queryString) } } var headers: [String: String]? { switch self { - case .updateUserInfoFetch, .updateNoteFetch: + case .updateUserInfoFetch, .updateNoteFetch, .checkUpdateNote: return Const.Header.bearerHeader() } } From 46d2825a4a948279f64d6b559f5a93b58bcb23e8 Mon Sep 17 00:00:00 2001 From: hyun99999 Date: Sat, 22 Apr 2023 11:26:11 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=ED=99=95=EC=9D=B8=ED=96=88?= =?UTF-8?q?=EC=96=B4=EC=9A=94=20API=20=EC=A0=81=EC=9A=A9=20(#454)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Update/VC/UpdateViewController.swift | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Update/VC/UpdateViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Update/VC/UpdateViewController.swift index 2e17f87e..86ad787a 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Update/VC/UpdateViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Update/VC/UpdateViewController.swift @@ -94,7 +94,7 @@ extension UpdateViewController { exit(0) } } else { - // TODO: - 확인했어요 API 통신 + checkUpdateNoteWithAPI(forceUpdateAgreement) self.dismiss(animated: true) } } @@ -110,7 +110,7 @@ extension UpdateViewController { } if !updateNote.isForce { - // TODO: - 확인했어요 API 통신 + checkUpdateNoteWithAPI(forceUpdateAgreement) } } @@ -121,6 +121,27 @@ extension UpdateViewController { } } +// MARK: - Network + +extension UpdateViewController { + private func checkUpdateNoteWithAPI(_ forceUpdateAgreement: Bool) { + UpdateAPI.shared.checkUpdateNote(isChecked: forceUpdateAgreement) { response in + switch response { + case .success: + print("checkUpdateNoteWithAPI - success") + case .requestErr(let message): + print("checkUpdateNoteWithAPI - requestErr: \(message)") + case .pathErr: + print("checkUpdateNoteWithAPI - pathErr") + case .serverErr: + print("checkUpdateNoteWithAPI - serverErr") + case .networkFail: + print("checkUpdateNoteWithAPI - networkFail") + } + } + } +} + // MARK: - Layout extension UpdateViewController { From 8b1345b472b9a0f45255939998bcc97de7417437 Mon Sep 17 00:00:00 2001 From: hyun99999 Date: Sat, 22 Apr 2023 11:37:46 +0900 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=ED=8C=8C=EB=9D=BC=EB=AF=B8?= =?UTF-8?q?=ED=84=B0=20=EB=AA=85=20=EB=B3=80=EA=B2=BD=20(#454)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/ViewControllers/Home/VC/HomeViewController.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift index 04b38001..e92abfef 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Home/VC/HomeViewController.swift @@ -190,8 +190,8 @@ extension HomeViewController { } private func checkUpdateVersion() { - updateUserInfoFetchWithAPI { [weak self] forceUpdateAgreement in - if !forceUpdateAgreement { + updateUserInfoFetchWithAPI { [weak self] checkUpdateNote in + if !checkUpdateNote { self?.updateNoteFetchWithAPI { [weak self] updateNote in if self?.checkUpdateAvailable(updateNote.latestVersion) ?? false { self?.presentToUpdateVC(with: updateNote)