From 23db101f1670d9fcdf1e30af8c3d8774537e2b29 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 20:23:38 +0900 Subject: [PATCH 1/8] =?UTF-8?q?[FEAT]=20#224=20-=20=EA=B7=B8=EB=A3=B9?= =?UTF-8?q?=EB=B7=B0=EC=97=90=EC=84=9C=20=EA=B7=B8=EB=A3=B9=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EA=B0=80=EC=A0=B8=EC=98=A4=EA=B8=B0=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Group/GroupViewController.swift | 1 + .../GroupEdit/GroupEditViewController.swift | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index 648ad438..4c346879 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -51,6 +51,7 @@ class GroupViewController: UIViewController { // 중간 그룹 이름들 나열된 뷰 @IBAction func pushToGroupEdit(_ sender: Any) { guard let nextVC = UIStoryboard.init(name: Const.Storyboard.Name.groupEdit, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.groupEditViewController) as? GroupEditViewController else { return } + nextVC.serverGroups = self.serverGroups navigationController?.pushViewController(nextVC, animated: true) } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift index 9a570327..f47167ec 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift @@ -10,7 +10,8 @@ import UIKit class GroupEditViewController: UIViewController { // MARK: - Properties - var cardItems = ["SOPT", "동아리", "학교", "NADA NADA NADA NADA NADA"] + // var cardItems = ["SOPT", "동아리", "학교", "NADA NADA NADA NADA NADA"] + var serverGroups: Groups? // MARK: - @IBOutlet Properties @IBOutlet weak var groupEditTableView: UITableView! @@ -23,6 +24,7 @@ class GroupEditViewController: UIViewController { groupEditTableView.delegate = self groupEditTableView.dataSource = self + serverGroupList() } // MARK: - @IBAction Properties @@ -31,8 +33,7 @@ class GroupEditViewController: UIViewController { } @IBAction func presentToAddGroupBottom(_ sender: UIButton) { - // FIXME: - 서버 통신 시, cardItems에 GroupVC에서 통신했던 서버 내용을 담는 것으로 로직 수정 - if cardItems.count == 4 { + if serverGroups?.groups.count == 5 { makeOKAlert(title: "", message: "새로운 그룹은 최대 4개까지만 등록 가능합니다.") } else { let nextVC = AddGroupBottomSheetViewController() @@ -72,7 +73,7 @@ extension GroupEditViewController: UITableViewDelegate { .setTitle("그룹명 변경") .setHeight(184) nextVC.modalPresentationStyle = .overFullScreen - nextVC.text = cardItems[indexPath.row] + nextVC.text = serverGroups?.groups[indexPath.row].groupName ?? "" self.present(nextVC, animated: false, completion: nil) } @@ -82,14 +83,20 @@ extension GroupEditViewController: UITableViewDelegate { // MARK: - TableView DataSource extension GroupEditViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return cardItems.count + return serverGroups?.groups.count ?? 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let serviceCell = tableView.dequeueReusableCell(withIdentifier: Const.Xib.groupEditTableViewCell, for: indexPath) as? GroupEditTableViewCell else { return UITableViewCell() } - serviceCell.initData(title: cardItems[indexPath.row]) + serviceCell.initData(title: serverGroups?.groups[indexPath.row].groupName ?? "") return serviceCell } } + +extension GroupEditViewController { + func serverGroupList() { + serverGroups?.groups.remove(at: 0) + } +} From 961d2996ce343f0d946f437c86ee6c983c00351a Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 21:13:27 +0900 Subject: [PATCH 2/8] =?UTF-8?q?[FEAT]=20#224=20-=20=EA=B7=B8=EB=A3=B9=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EC=84=9C=EB=B2=84=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddGroupBottomSheetViewController.swift | 24 +++--- .../Group/GroupViewController.swift | 80 +++++-------------- .../GroupEdit/GroupEditViewController.swift | 74 ++++++++++++++++- 3 files changed, 104 insertions(+), 74 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift index 8eae2a60..5a53cce1 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift @@ -11,6 +11,8 @@ import IQKeyboardManagerSwift class AddGroupBottomSheetViewController: CommonBottomSheetViewController, UITextFieldDelegate { // MARK: - Properties + var returnToGroupEditViewController: (() -> Void)? + // 그룹 추가 텍스트 필드 private let addGroupTextField: UITextField = { let textField = UITextField() @@ -97,29 +99,27 @@ extension AddGroupBottomSheetViewController { func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() hideBottomSheetAndGoBack() + groupAddWithAPI(groupRequest: GroupAddRequest(userId: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", groupName: addGroupTextField.text ?? "")) + return true } } // MARK: - Network extension AddGroupBottomSheetViewController { - - func cardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest) { - GroupAPI.shared.cardAddInGroup(cardRequest: cardRequest) { response in + func groupAddWithAPI(groupRequest: GroupAddRequest) { + GroupAPI.shared.groupAdd(groupRequest: groupRequest) { response in switch response { - case .success(let data): - if let group = data as? Groups { -// print(group) - // 그룹 추가 서버 통신 성공했을 떄 - } + case .success: + print("groupAddWithAPI - success") case .requestErr(let message): - print("cardAddInGroupWithAPI - requestErr: \(message)") + print("groupAddWithAPI - requestErr: \(message)") case .pathErr: - print("cardAddInGroupWithAPI - pathErr") + print("groupAddWithAPI - pathErr") case .serverErr: - print("cardAddInGroupWithAPI - serverErr") + print("groupAddWithAPI - serverErr") case .networkFail: - print("cardAddInGroupWithAPI - networkFail") + print("groupAddWithAPI - networkFail") } } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index 4c346879..5f66af87 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -51,7 +51,6 @@ class GroupViewController: UIViewController { // 중간 그룹 이름들 나열된 뷰 @IBAction func pushToGroupEdit(_ sender: Any) { guard let nextVC = UIStoryboard.init(name: Const.Storyboard.Name.groupEdit, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.groupEditViewController) as? GroupEditViewController else { return } - nextVC.serverGroups = self.serverGroups navigationController?.pushViewController(nextVC, animated: true) } @@ -73,13 +72,7 @@ class GroupViewController: UIViewController { super.viewDidLoad() registerCell() setUI() -// 그룹 삭제 서버 테스트 -// groupDeleteWithAPI(groupID: 1) -// 그룹 추가 서버 테스트 -// groupAddWithAPI(groupRequest: GroupAddRequest(userId: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", -// groupName: "SOPT")) -// 그룹 수정 서버 테스트 -// groupEditWithAPI(groupRequest: GroupEditRequest(groupId: 5, groupName: "수정나다")) + // 그룹 속 명함 조회 테스트 // cardListInGroupWithAPI(cardListInGroupRequest: CardListInGroupRequest(userId: "nada", groupId: 5, offset: 0)) // 명함 검색 테스트 @@ -145,57 +138,6 @@ extension GroupViewController { } } - func groupDeleteWithAPI(groupID: Int) { - GroupAPI.shared.groupDelete(groupID: groupID) { response in - switch response { - case .success: - print("groupDeleteWithAPI - success") - case .requestErr(let message): - print("groupDeleteWithAPI - requestErr: \(message)") - case .pathErr: - print("groupDeleteWithAPI - pathErr") - case .serverErr: - print("groupDeleteWithAPI - serverErr") - case .networkFail: - print("groupDeleteWithAPI - networkFail") - } - } - } - - func groupAddWithAPI(groupRequest: GroupAddRequest) { - GroupAPI.shared.groupAdd(groupRequest: groupRequest) { response in - switch response { - case .success: - print("groupAddWithAPI - success") - case .requestErr(let message): - print("groupAddWithAPI - requestErr: \(message)") - case .pathErr: - print("groupAddWithAPI - pathErr") - case .serverErr: - print("groupAddWithAPI - serverErr") - case .networkFail: - print("groupAddWithAPI - networkFail") - } - } - } - - func groupEditWithAPI(groupRequest: GroupEditRequest) { - GroupAPI.shared.groupEdit(groupRequest: groupRequest) { response in - switch response { - case .success: - print("groupEditWithAPI - success") - case .requestErr(let message): - print("groupEditWithAPI - requestErr: \(message)") - case .pathErr: - print("groupEditWithAPI - pathErr") - case .serverErr: - print("groupEditWithAPI - serverErr") - case .networkFail: - print("groupEditWithAPI - networkFail") - } - } - } - func cardListInGroupWithAPI(cardListInGroupRequest: CardListInGroupRequest) { GroupAPI.shared.cardListFetchInGroup(cardListInGroupRequest: cardListInGroupRequest) { response in switch response { @@ -221,6 +163,26 @@ extension GroupViewController { } } + func cardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest) { + GroupAPI.shared.cardAddInGroup(cardRequest: cardRequest) { response in + switch response { + case .success(let data): + if let group = data as? Groups { +// print(group) + // 그룹 추가 서버 통신 성공했을 떄 + } + case .requestErr(let message): + print("cardAddInGroupWithAPI - requestErr: \(message)") + case .pathErr: + print("cardAddInGroupWithAPI - pathErr") + case .serverErr: + print("cardAddInGroupWithAPI - serverErr") + case .networkFail: + print("cardAddInGroupWithAPI - networkFail") + } + } + } + func cardDetailFetchWithAPI(cardID: String) { CardAPI.shared.cardDetailFetch(cardID: cardID) { response in switch response { diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift index f47167ec..650637b5 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift @@ -10,7 +10,6 @@ import UIKit class GroupEditViewController: UIViewController { // MARK: - Properties - // var cardItems = ["SOPT", "동아리", "학교", "NADA NADA NADA NADA NADA"] var serverGroups: Groups? // MARK: - @IBOutlet Properties @@ -25,6 +24,16 @@ class GroupEditViewController: UIViewController { groupEditTableView.delegate = self groupEditTableView.dataSource = self serverGroupList() + + // 그룹 삭제 서버 테스트 + // groupDeleteWithAPI(groupID: 1) + // groupName: "SOPT")) + // 그룹 수정 서버 테스트 + // groupEditWithAPI(groupRequest: GroupEditRequest(groupId: 5, groupName: "수정나다")) + } + + override func viewWillAppear(_ animated: Bool) { + groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") } // MARK: - @IBAction Properties @@ -33,7 +42,7 @@ class GroupEditViewController: UIViewController { } @IBAction func presentToAddGroupBottom(_ sender: UIButton) { - if serverGroups?.groups.count == 5 { + if serverGroups?.groups.count == 4 { makeOKAlert(title: "", message: "새로운 그룹은 최대 4개까지만 등록 가능합니다.") } else { let nextVC = AddGroupBottomSheetViewController() @@ -57,7 +66,8 @@ extension GroupEditViewController: UITableViewDelegate { self.makeCancelDeleteAlert(title: "그룹 삭제", message: "해당 그룹에 있던 명함은\n미분류 그룹으로 이동합니다.", cancelAction: { _ in // 취소 눌렀을 때 액션이 들어갈 부분 }, deleteAction: { _ in - // + self.groupDeleteWithAPI(groupID: self.serverGroups?.groups[indexPath.row].groupID ?? 0) + self.groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") }) }) deleteAction.backgroundColor = .red @@ -95,8 +105,66 @@ extension GroupEditViewController: UITableViewDataSource { } } +// MARK: - Extensions extension GroupEditViewController { func serverGroupList() { serverGroups?.groups.remove(at: 0) } } + +// MARK: - Network +extension GroupEditViewController { + func groupListFetchWithAPI(userID: String) { + GroupAPI.shared.groupListFetch(userID: userID) { response in + switch response { + case .success(let data): + if let group = data as? Groups { + self.serverGroups = group + self.groupEditTableView.reloadData() + } + case .requestErr(let message): + print("groupListFetchWithAPI - requestErr: \(message)") + case .pathErr: + print("groupListFetchWithAPI - pathErr") + case .serverErr: + print("groupListFetchWithAPI - serverErr") + case .networkFail: + print("groupListFetchWithAPI - networkFail") + } + } + } + func groupDeleteWithAPI(groupID: Int) { + GroupAPI.shared.groupDelete(groupID: groupID) { response in + switch response { + case .success: + print("groupDeleteWithAPI - success") + case .requestErr(let message): + print("groupDeleteWithAPI - requestErr: \(message)") + case .pathErr: + print("groupDeleteWithAPI - pathErr") + case .serverErr: + print("groupDeleteWithAPI - serverErr") + case .networkFail: + print("groupDeleteWithAPI - networkFail") + } + } + } + + func groupEditWithAPI(groupRequest: GroupEditRequest) { + GroupAPI.shared.groupEdit(groupRequest: groupRequest) { response in + switch response { + case .success: + print("groupEditWithAPI - success") + case .requestErr(let message): + print("groupEditWithAPI - requestErr: \(message)") + case .pathErr: + print("groupEditWithAPI - pathErr") + case .serverErr: + print("groupEditWithAPI - serverErr") + case .networkFail: + print("groupEditWithAPI - networkFail") + } + } + } + +} From 3e4da4981c43e1d09bb9e01bf0078560877f70fe Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 22:49:55 +0900 Subject: [PATCH 3/8] =?UTF-8?q?[FEAT]=20#224=20-=20=EB=A6=AC=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=9C=84=EC=B9=98=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Group/GroupViewController.swift | 21 +------------------ .../GroupEdit/GroupEditViewController.swift | 18 +++++++++------- 2 files changed, 11 insertions(+), 28 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index 5f66af87..d113ce6e 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -51,6 +51,7 @@ class GroupViewController: UIViewController { // 중간 그룹 이름들 나열된 뷰 @IBAction func pushToGroupEdit(_ sender: Any) { guard let nextVC = UIStoryboard.init(name: Const.Storyboard.Name.groupEdit, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.groupEditViewController) as? GroupEditViewController else { return } + nextVC.serverGroups = self.serverGroups navigationController?.pushViewController(nextVC, animated: true) } @@ -163,26 +164,6 @@ extension GroupViewController { } } - func cardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest) { - GroupAPI.shared.cardAddInGroup(cardRequest: cardRequest) { response in - switch response { - case .success(let data): - if let group = data as? Groups { -// print(group) - // 그룹 추가 서버 통신 성공했을 떄 - } - case .requestErr(let message): - print("cardAddInGroupWithAPI - requestErr: \(message)") - case .pathErr: - print("cardAddInGroupWithAPI - pathErr") - case .serverErr: - print("cardAddInGroupWithAPI - serverErr") - case .networkFail: - print("cardAddInGroupWithAPI - networkFail") - } - } - } - func cardDetailFetchWithAPI(cardID: String) { CardAPI.shared.cardDetailFetch(cardID: cardID) { response in switch response { diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift index 650637b5..6d73ff1e 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift @@ -24,16 +24,13 @@ class GroupEditViewController: UIViewController { groupEditTableView.delegate = self groupEditTableView.dataSource = self serverGroupList() - - // 그룹 삭제 서버 테스트 - // groupDeleteWithAPI(groupID: 1) - // groupName: "SOPT")) - // 그룹 수정 서버 테스트 - // groupEditWithAPI(groupRequest: GroupEditRequest(groupId: 5, groupName: "수정나다")) } override func viewWillAppear(_ animated: Bool) { - groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") + super.viewWillAppear(animated) + + self.groupEditTableView.reloadData() + } // MARK: - @IBAction Properties @@ -67,7 +64,7 @@ extension GroupEditViewController: UITableViewDelegate { // 취소 눌렀을 때 액션이 들어갈 부분 }, deleteAction: { _ in self.groupDeleteWithAPI(groupID: self.serverGroups?.groups[indexPath.row].groupID ?? 0) - self.groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") + self.groupEditTableView.reloadData() }) }) deleteAction.backgroundColor = .red @@ -120,6 +117,7 @@ extension GroupEditViewController { case .success(let data): if let group = data as? Groups { self.serverGroups = group + self.serverGroups?.groups.remove(at: 0) self.groupEditTableView.reloadData() } case .requestErr(let message): @@ -133,11 +131,14 @@ extension GroupEditViewController { } } } + func groupDeleteWithAPI(groupID: Int) { GroupAPI.shared.groupDelete(groupID: groupID) { response in switch response { case .success: print("groupDeleteWithAPI - success") + self.groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") + self.groupEditTableView.reloadData() case .requestErr(let message): print("groupDeleteWithAPI - requestErr: \(message)") case .pathErr: @@ -155,6 +156,7 @@ extension GroupEditViewController { switch response { case .success: print("groupEditWithAPI - success") + self.groupEditTableView.reloadData() case .requestErr(let message): print("groupEditWithAPI - requestErr: \(message)") case .pathErr: From 6c0eedc342e69bec8a5e392c5a1f0f0485acdde3 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Mon, 27 Dec 2021 00:20:32 +0900 Subject: [PATCH 4/8] =?UTF-8?q?[FEAT]=20#224=20-=20API=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NADA-iOS-forRelease.xcodeproj/project.pbxproj | 8 ++++---- .../Sources/NetworkModel/Card/CardListLookUp.swift | 14 ++++++++++++++ .../NetworkModel/Card/CardListLookUpRequest.swift | 14 -------------- .../Sources/NetworkService/Card/CardAPI.swift | 2 +- .../ViewControllers/Main/FrontViewController.swift | 2 +- 5 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUp.swift delete mode 100644 NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUpRequest.swift diff --git a/NADA-iOS-forRelease.xcodeproj/project.pbxproj b/NADA-iOS-forRelease.xcodeproj/project.pbxproj index ad6eb082..ddcd4173 100644 --- a/NADA-iOS-forRelease.xcodeproj/project.pbxproj +++ b/NADA-iOS-forRelease.xcodeproj/project.pbxproj @@ -14,7 +14,6 @@ 3909242F26FA15E800236C51 /* UIView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3909242E26FA15E800236C51 /* UIView+Extension.swift */; }; 3918F66727719C4B00984648 /* UserTokenReissueRequset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3918F66627719C4B00984648 /* UserTokenReissueRequset.swift */; }; 3927A7D7275F2A9B008BCD2A /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3927A7D6275F2A9B008BCD2A /* UserDefaults.swift */; }; - 39288E12273F52B20072F403 /* CardListLookUpRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39288E11273F52B20072F403 /* CardListLookUpRequest.swift */; }; 392F7FB4274621F1008CDBF5 /* MoreListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392F7FB2274621F1008CDBF5 /* MoreListTableViewCell.swift */; }; 392F7FB5274621F1008CDBF5 /* MoreListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 392F7FB3274621F1008CDBF5 /* MoreListTableViewCell.xib */; }; 39317D2227646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39317D2127646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift */; }; @@ -61,6 +60,7 @@ 39D88B642745FDD400A72164 /* TabBar.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 39D88B632745FDD400A72164 /* TabBar.storyboard */; }; 39D88B662745FE5F00A72164 /* TabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39D88B652745FE5F00A72164 /* TabBarViewController.swift */; }; 39D88B6B274600B100A72164 /* CommonBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39D88B6A274600B100A72164 /* CommonBottomSheetViewController.swift */; }; + 39DC069A2778BEFB00C8ECCC /* CardListLookUp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39DC06992778BEFB00C8ECCC /* CardListLookUp.swift */; }; 39F5A3D0271461EA00191F94 /* BackCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F5A3CE271461EA00191F94 /* BackCardCell.swift */; }; 39F5A3D1271461EA00191F94 /* BackCardCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39F5A3CF271461EA00191F94 /* BackCardCell.xib */; }; 7705CF3E2752C7DB005195DF /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7705CF3D2752C7DB005195DF /* CardView.swift */; }; @@ -152,7 +152,6 @@ 3918F6652771682F00984648 /* NADA-iOS-forRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NADA-iOS-forRelease.entitlements"; sourceTree = ""; }; 3918F66627719C4B00984648 /* UserTokenReissueRequset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserTokenReissueRequset.swift; sourceTree = ""; }; 3927A7D6275F2A9B008BCD2A /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; - 39288E11273F52B20072F403 /* CardListLookUpRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardListLookUpRequest.swift; sourceTree = ""; }; 392F7FB2274621F1008CDBF5 /* MoreListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreListTableViewCell.swift; sourceTree = ""; }; 392F7FB3274621F1008CDBF5 /* MoreListTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MoreListTableViewCell.xib; sourceTree = ""; }; 39317D2127646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupNameEditBottomSheetViewController.swift; sourceTree = ""; }; @@ -199,6 +198,7 @@ 39D88B632745FDD400A72164 /* TabBar.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = TabBar.storyboard; sourceTree = ""; }; 39D88B652745FE5F00A72164 /* TabBarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabBarViewController.swift; sourceTree = ""; }; 39D88B6A274600B100A72164 /* CommonBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonBottomSheetViewController.swift; sourceTree = ""; }; + 39DC06992778BEFB00C8ECCC /* CardListLookUp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardListLookUp.swift; sourceTree = ""; }; 39F5A3CE271461EA00191F94 /* BackCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackCardCell.swift; sourceTree = ""; }; 39F5A3CF271461EA00191F94 /* BackCardCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BackCardCell.xib; sourceTree = ""; }; 4A2183AE0E469153221624A0 /* Pods_NADA_iOS_forRelease.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NADA_iOS_forRelease.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -678,7 +678,7 @@ 3981148D273BEBB300E28630 /* CardListEditRequest.swift */, 3981148F273BEBCE00E28630 /* CardListRequest.swift */, 39584580273E951C009CC6B9 /* MainListRequest.swift */, - 39288E11273F52B20072F403 /* CardListLookUpRequest.swift */, + 39DC06992778BEFB00C8ECCC /* CardListLookUp.swift */, ); path = Card; sourceTree = ""; @@ -1120,6 +1120,7 @@ 3909242F26FA15E800236C51 /* UIView+Extension.swift in Sources */, 39523E09270184A700536900 /* CardListViewController.swift in Sources */, F85711A5274A6B2200F59F0B /* CardCreationPreviewViewController.swift in Sources */, + 39DC069A2778BEFB00C8ECCC /* CardListLookUp.swift in Sources */, 777FF89B27359B7800BF69D3 /* Groups.swift in Sources */, 77F47D93276C79B600414659 /* Header.swift in Sources */, 397B75102763A5F5004AEB03 /* OpenSourceViewController.swift in Sources */, @@ -1193,7 +1194,6 @@ 393E3345275F69EE00965BBF /* SplashViewController.swift in Sources */, F8C83FB8272F9E3F0009DF0D /* UtilAPI.swift in Sources */, F8FC438826C01CDD0033E151 /* SceneDelegate.swift in Sources */, - 39288E12273F52B20072F403 /* CardListLookUpRequest.swift in Sources */, 397B75132763A916004AEB03 /* OpenSourceTableViewCell.swift in Sources */, F811720027383097002742CF /* ChangeGroupRequest.swift in Sources */, ); diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUp.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUp.swift new file mode 100644 index 00000000..4c01eb98 --- /dev/null +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUp.swift @@ -0,0 +1,14 @@ +// +// CardListLookUp.swift +// NADA-iOS-forRelease +// +// Created by 민 on 2021/12/27. +// + +import Foundation + +// MARK: - CardListLookUp +struct CardListLookUp: Codable { + let offset: Int + let cards: [Card] +} diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUpRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUpRequest.swift deleted file mode 100644 index d0edb0e5..00000000 --- a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListLookUpRequest.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// CardListLookUpRequest.swift -// NADA-iOS-forRelease -// -// Created by 민 on 2021/11/13. -// - -import Foundation - -// MARK: - CardListLookUpRequest -struct CardListLookUpRequest: Codable { - let offset: Int - let cards: [Card] -} diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift index 5efbda27..a312aec5 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift @@ -132,7 +132,7 @@ public class CardAPI { private func judgeMainListFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() - guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) + guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) else { return .pathErr } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index dbd67f89..6e57d99a 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -118,7 +118,7 @@ extension FrontViewController { CardAPI.shared.cardListFetch(userID: userID, isList: isList, offset: offset) { response in switch response { case .success(let data): - if let card = data as? CardListLookUpRequest { + if let card = data as? CardListLookUp { print(card.cards, "⭐️") self.cardDataList = card.cards self.cardSwiper.reloadData() From fea16b732dbebb20a4a2adb4a67a16bc0d8896d1 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Mon, 27 Dec 2021 01:04:43 +0900 Subject: [PATCH 5/8] =?UTF-8?q?[FEAT]=20#224=20-=20=EA=B7=B8=EB=A3=B9=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EC=B6=94=EA=B0=80=20=EC=84=9C=EB=B2=84=20?= =?UTF-8?q?=EC=97=B0=EA=B2=B0=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BottomSheet/AddGroupBottomSheetViewController.swift | 2 ++ .../ViewControllers/GroupEdit/GroupEditViewController.swift | 3 +++ 2 files changed, 5 insertions(+) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift index 5a53cce1..dc4a74cd 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift @@ -101,6 +101,8 @@ extension AddGroupBottomSheetViewController { hideBottomSheetAndGoBack() groupAddWithAPI(groupRequest: GroupAddRequest(userId: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", groupName: addGroupTextField.text ?? "")) + returnToGroupEditViewController?() + return true } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift index 6d73ff1e..9b7e0156 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift @@ -45,6 +45,9 @@ class GroupEditViewController: UIViewController { let nextVC = AddGroupBottomSheetViewController() .setTitle("그룹 추가") .setHeight(184) + nextVC.returnToGroupEditViewController = { + self.groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") + } nextVC.modalPresentationStyle = .overFullScreen self.present(nextVC, animated: false, completion: nil) } From 0bb293ebbb4e1e51ff4a5286896778ba20b2978c Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Mon, 27 Dec 2021 01:22:47 +0900 Subject: [PATCH 6/8] =?UTF-8?q?[FEAT]=20#224=20-=20=EA=B7=B8=EB=A3=B9?= =?UTF-8?q?=EB=AA=85=20=EC=88=98=EC=A0=95=20=EC=84=9C=EB=B2=84=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddGroupBottomSheetViewController.swift | 1 - ...oupNameEditBottomSheetViewController.swift | 27 ++++++++++++++++++- .../GroupEdit/GroupEditViewController.swift | 23 +++------------- 3 files changed, 30 insertions(+), 21 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift index dc4a74cd..a65b483e 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/AddGroupBottomSheetViewController.swift @@ -100,7 +100,6 @@ extension AddGroupBottomSheetViewController { textField.resignFirstResponder() hideBottomSheetAndGoBack() groupAddWithAPI(groupRequest: GroupAddRequest(userId: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", groupName: addGroupTextField.text ?? "")) - returnToGroupEditViewController?() return true diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/GroupNameEditBottomSheetViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/GroupNameEditBottomSheetViewController.swift index 1640ad2e..d210be6a 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/GroupNameEditBottomSheetViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/BottomSheet/GroupNameEditBottomSheetViewController.swift @@ -14,6 +14,8 @@ class GroupNameEditBottomSheetViewController: CommonBottomSheetViewController, U // 넘어온 그룹 이름 데이터를 받는 변수 선언 var text: String = "" + var returnToGroupEditViewController: (() -> Void)? + var nowGroup: Group? // 그룹 추가 텍스트 필드 private let addGroupTextField: UITextField = { @@ -50,7 +52,6 @@ class GroupNameEditBottomSheetViewController: CommonBottomSheetViewController, U view.addSubview(addGroupTextField) setupLayout() - addGroupTextField.text = text } @@ -66,10 +67,34 @@ class GroupNameEditBottomSheetViewController: CommonBottomSheetViewController, U } } +// MARK: - Extensions extension GroupNameEditBottomSheetViewController { func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() hideBottomSheetAndGoBack() + groupEditWithAPI(groupRequest: GroupEditRequest(groupId: nowGroup?.groupID ?? 0, groupName: addGroupTextField.text ?? "")) + returnToGroupEditViewController?() + return true } } + +// MARK: - Network +extension GroupNameEditBottomSheetViewController { + func groupEditWithAPI(groupRequest: GroupEditRequest) { + GroupAPI.shared.groupEdit(groupRequest: groupRequest) { response in + switch response { + case .success: + print("groupEditWithAPI - success") + case .requestErr(let message): + print("groupEditWithAPI - requestErr: \(message)") + case .pathErr: + print("groupEditWithAPI - pathErr") + case .serverErr: + print("groupEditWithAPI - serverErr") + case .networkFail: + print("groupEditWithAPI - networkFail") + } + } + } +} diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift index 9b7e0156..601c7dca 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/GroupEdit/GroupEditViewController.swift @@ -84,7 +84,10 @@ extension GroupEditViewController: UITableViewDelegate { .setHeight(184) nextVC.modalPresentationStyle = .overFullScreen nextVC.text = serverGroups?.groups[indexPath.row].groupName ?? "" - + nextVC.returnToGroupEditViewController = { + self.groupListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "") + } + nextVC.nowGroup = serverGroups?.groups[indexPath.row] self.present(nextVC, animated: false, completion: nil) } @@ -154,22 +157,4 @@ extension GroupEditViewController { } } - func groupEditWithAPI(groupRequest: GroupEditRequest) { - GroupAPI.shared.groupEdit(groupRequest: groupRequest) { response in - switch response { - case .success: - print("groupEditWithAPI - success") - self.groupEditTableView.reloadData() - case .requestErr(let message): - print("groupEditWithAPI - requestErr: \(message)") - case .pathErr: - print("groupEditWithAPI - pathErr") - case .serverErr: - print("groupEditWithAPI - serverErr") - case .networkFail: - print("groupEditWithAPI - networkFail") - } - } - } - } From 18314ac2f3b91b42fe26bff72acf6fcffe65821d Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Mon, 27 Dec 2021 01:32:38 +0900 Subject: [PATCH 7/8] =?UTF-8?q?[FEAT]=20#224=20-=20firstCardID=20UserDefau?= =?UTF-8?q?lts=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift | 1 + .../Sources/ViewControllers/Main/FrontViewController.swift | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift index 8cdc9f2a..fc42c2ed 100644 --- a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift +++ b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift @@ -15,5 +15,6 @@ extension Const { static let userID = "userID" static let isFirstCard = "isFirstCard" static let isOnboarding = "isOnboarding" + static let firstCardID = "firstCardID" } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index 6e57d99a..659634ad 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -28,7 +28,6 @@ class FrontViewController: UIViewController { override func viewWillAppear(_ animated: Bool) { cardListFetchWithAPI(userID: "nada2", isList: false, offset: offset) - } // MARK: - @IBAction Properties @@ -99,6 +98,7 @@ extension FrontViewController: VerticalCardSwiperDatasource { if cardDataList.count != 0 { guard let cell = verticalCardSwiperView.dequeueReusableCell(withReuseIdentifier: Const.Xib.mainCardCell, for: index) as? MainCardCell else { return CardCell() } let cardDataList = cardDataList + UserDefaults.standard.set(cardDataList[0].cardID, forKey: Const.UserDefaults.firstCardID) cell.initCell(cardDataModel: cardDataList[index]) cell.isShareable = true cell.setFrontCard() @@ -119,7 +119,6 @@ extension FrontViewController { switch response { case .success(let data): if let card = data as? CardListLookUp { - print(card.cards, "⭐️") self.cardDataList = card.cards self.cardSwiper.reloadData() } From 53289781a3069094ee640313d031d5a5ab1068b3 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Mon, 27 Dec 2021 01:39:38 +0900 Subject: [PATCH 8/8] =?UTF-8?q?[FEAT]=20#224=20-=20cardListLookUp=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/ViewControllers/Main/FrontViewController.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index bb2b4522..62a91fcd 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -149,10 +149,10 @@ extension FrontViewController { case .success(let data): self.isInfiniteScroll = true - if let cardListLookUpRequest = data as? CardListLookUpRequest { + if let cardListLookUp = data as? CardListLookUp { // FIXME: - 로그 확인용. // print("✅cardListLookUpRequest", cardListLookUpRequest) - self.cardDataList?.append(contentsOf: cardListLookUpRequest.cards) + self.cardDataList?.append(contentsOf: cardListLookUp.cards) self.cardSwiper.reloadData() }