diff --git a/NADA-iOS-forRelease.xcodeproj/project.pbxproj b/NADA-iOS-forRelease.xcodeproj/project.pbxproj index 5d868d2a..b3d87c33 100644 --- a/NADA-iOS-forRelease.xcodeproj/project.pbxproj +++ b/NADA-iOS-forRelease.xcodeproj/project.pbxproj @@ -35,6 +35,7 @@ 777FF89B27359B7800BF69D3 /* Groups.swift in Sources */ = {isa = PBXBuildFile; fileRef = 777FF89A27359B7800BF69D3 /* Groups.swift */; }; 777FF89D2735B16B00BF69D3 /* GroupAddRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */; }; 777FF89F27364B7B00BF69D3 /* GroupEditRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */; }; + 77AA68EA273E0EC4009C89B0 /* CardAddInGroupRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */; }; DBBB91E1639641F40C5B4416 /* Pods_NADA_iOS_forRelease.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A2183AE0E469153221624A0 /* Pods_NADA_iOS_forRelease.framework */; }; F822E7A92709CEB60020452C /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F822E7A82709CEB60020452C /* Notification.swift */; }; F82FF81D2701EBCE00E57F8B /* CardCreation.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F82FF81C2701EBCE00E57F8B /* CardCreation.storyboard */; }; @@ -108,6 +109,7 @@ 777FF89A27359B7800BF69D3 /* Groups.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Groups.swift; sourceTree = ""; }; 777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupAddRequest.swift; sourceTree = ""; }; 777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupEditRequest.swift; sourceTree = ""; }; + 77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardAddInGroupRequest.swift; sourceTree = ""; }; 7F4EE1D042EC783FA8528743 /* Pods-NADA-iOS-forRelease.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NADA-iOS-forRelease.debug.xcconfig"; path = "Target Support Files/Pods-NADA-iOS-forRelease/Pods-NADA-iOS-forRelease.debug.xcconfig"; sourceTree = ""; }; F822E7A82709CEB60020452C /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = ""; }; F82FF81C2701EBCE00E57F8B /* CardCreation.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = CardCreation.storyboard; sourceTree = ""; }; @@ -270,6 +272,7 @@ 777FF89A27359B7800BF69D3 /* Groups.swift */, 777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */, 777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */, + 77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */, ); path = Group; sourceTree = ""; @@ -759,6 +762,7 @@ 399C55DD271192D000845A54 /* CustomTabIndicatorView.swift in Sources */, F8C83FC1272FA06E0009DF0D /* UserAPI.swift in Sources */, F8C83FC3272FA17B0009DF0D /* URL.swift in Sources */, + 77AA68EA273E0EC4009C89B0 /* CardAddInGroupRequest.swift in Sources */, F8C83FAE272F99940009DF0D /* MoyaLoggerPlugin.swift in Sources */, F84BAFAD26FDB543004CA335 /* FrontCardCreationCollectionViewCell.swift in Sources */, F822E7A92709CEB60020452C /* Notification.swift in Sources */, diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Group/CardAddInGroupRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Group/CardAddInGroupRequest.swift new file mode 100644 index 00000000..0de27e2e --- /dev/null +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Group/CardAddInGroupRequest.swift @@ -0,0 +1,14 @@ +// +// CardAddInGroupRequest.swift +// NADA-iOS-forRelease +// +// Created by Yi Joon Choi on 2021/11/12. +// + +import Foundation + +struct CardAddInGroupRequest: Codable { + var cardId: String? + var userId: String? + var groupId: Int? +} diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Group/GroupEditRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Group/GroupEditRequest.swift index 8393d1ad..0d78d6bf 100644 --- a/NADA-iOS-forRelease/Sources/NetworkModel/Group/GroupEditRequest.swift +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Group/GroupEditRequest.swift @@ -8,6 +8,6 @@ import Foundation struct GroupEditRequest: Codable { - var groupId: String? + var groupId: Int? var groupName: String? } diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift index b94ec72c..3c75d996 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift @@ -79,6 +79,22 @@ public class GroupAPI { } } + func postCardAddInGroup(cardRequest: CardAddInGroupRequest, completion: @escaping (NetworkResult) -> Void) { + groupProvider.request(.cardAddInGroup(cardRequest: cardRequest)) { (result) in + switch result { + case .success(let response): + let statusCode = response.statusCode + let data = response.data + + let networkResult = self.judgeStatus(by: statusCode, data) + completion(networkResult) + + case .failure(let err): + print(err) + } + } + } + private func judgeStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupService.swift index b55e655b..4dc5458f 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Group/GroupService.swift @@ -13,6 +13,7 @@ enum GroupService { case groupDelete(groupID: Int) case groupAdd(groupRequest: GroupAddRequest) case groupEdit(groupRequest: GroupEditRequest) + case cardAddInGroup(cardRequest: CardAddInGroupRequest) } extension GroupService: TargetType { @@ -31,6 +32,8 @@ extension GroupService: TargetType { return "/group" case .groupEdit: return "/group" + case .cardAddInGroup: + return "/groups/card" } } @@ -44,6 +47,8 @@ extension GroupService: TargetType { return .post case .groupEdit: return .put + case .cardAddInGroup: + return .post } } @@ -61,6 +66,8 @@ extension GroupService: TargetType { return .requestJSONEncodable(groupRequest) case .groupEdit(let groupRequest): return .requestJSONEncodable(groupRequest) + case .cardAddInGroup(let cardRequest): + return .requestJSONEncodable(cardRequest) } } @@ -74,6 +81,8 @@ extension GroupService: TargetType { return ["Content-Type": "application/json"] case .groupEdit: return ["Content-Type": "application/json"] + case .cardAddInGroup: + return ["Content-Type": "application/json"] } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index 2655ee83..e5aa9b91 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -19,7 +19,8 @@ class GroupViewController: UIViewController { // 그룹 추가 서버 테스트 // postGroupAddWithAPI(groupRequest: GroupAddRequest(userId: "nada", groupName: "나다나다")) // 그룹 수정 서버 테스트 -// putGroupEditWithAPI(groupRequest: GroupEditRequest(groupId: "5", groupName: "수정나다")) +// putGroupEditWithAPI(groupRequest: GroupEditRequest(groupId: 5, groupName: "수정나다")) +// postCardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest(cardId: "cardA", userId: "nada", groupId: 1)) } } @@ -106,4 +107,24 @@ extension GroupViewController { } } } + + func postCardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest) { + GroupAPI.shared.postCardAddInGroup(cardRequest: cardRequest) { response in + switch response { + case .success(let data): + if let group = data as? Groups { +// print(group) + // 그룹 추가 서버 통신 성공했을 떄 + } + case .requestErr(let message): + print("postCardAddInGroupWithAPI - requestErr", message) + case .pathErr: + print("postCardAddInGroupWithAPI - pathErr") + case .serverErr: + print("postCardAddInGroupWithAPI - serverErr") + case .networkFail: + print("postCardAddInGroupWithAPI - networkFail") + } + } + } }