Skip to content

Commit

Permalink
[FEAT] TeamNADA#56 그룹 속 명함 추가 서버통신
Browse files Browse the repository at this point in the history
  • Loading branch information
dlwns33 committed Nov 12, 2021
1 parent e7a8ebe commit b0a6aac
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 2 deletions.
4 changes: 4 additions & 0 deletions NADA-iOS-forRelease.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -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 */; };
Expand Down Expand Up @@ -108,6 +109,7 @@
777FF89A27359B7800BF69D3 /* Groups.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Groups.swift; sourceTree = "<group>"; };
777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupAddRequest.swift; sourceTree = "<group>"; };
777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupEditRequest.swift; sourceTree = "<group>"; };
77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardAddInGroupRequest.swift; sourceTree = "<group>"; };
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 = "<group>"; };
F822E7A82709CEB60020452C /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = "<group>"; };
F82FF81C2701EBCE00E57F8B /* CardCreation.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = CardCreation.storyboard; sourceTree = "<group>"; };
Expand Down Expand Up @@ -270,6 +272,7 @@
777FF89A27359B7800BF69D3 /* Groups.swift */,
777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */,
777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */,
77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */,
);
path = Group;
sourceTree = "<group>";
Expand Down Expand Up @@ -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 */,
Expand Down
Original file line number Diff line number Diff line change
@@ -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?
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
import Foundation

struct GroupEditRequest: Codable {
var groupId: String?
var groupId: Int?
var groupName: String?
}
16 changes: 16 additions & 0 deletions NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,22 @@ public class GroupAPI {
}
}

func postCardAddInGroup(cardRequest: CardAddInGroupRequest, completion: @escaping (NetworkResult<Any>) -> 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<Any> {

let decoder = JSONDecoder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -31,6 +32,8 @@ extension GroupService: TargetType {
return "/group"
case .groupEdit:
return "/group"
case .cardAddInGroup:
return "/groups/card"
}
}

Expand All @@ -44,6 +47,8 @@ extension GroupService: TargetType {
return .post
case .groupEdit:
return .put
case .cardAddInGroup:
return .post
}
}

Expand All @@ -61,6 +66,8 @@ extension GroupService: TargetType {
return .requestJSONEncodable(groupRequest)
case .groupEdit(let groupRequest):
return .requestJSONEncodable(groupRequest)
case .cardAddInGroup(let cardRequest):
return .requestJSONEncodable(cardRequest)
}
}

Expand All @@ -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"]
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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))
}

}
Expand Down Expand Up @@ -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")
}
}
}
}

0 comments on commit b0a6aac

Please sign in to comment.