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 b0a6aac commit 1f62610
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 1 deletion.
4 changes: 4 additions & 0 deletions NADA-iOS-forRelease.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
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 */; };
77AA68EC273E202D009C89B0 /* CardListRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77AA68EB273E202D009C89B0 /* CardListRequest.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 @@ -110,6 +111,7 @@
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>"; };
77AA68EB273E202D009C89B0 /* CardListRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardListRequest.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 @@ -273,6 +275,7 @@
777FF89C2735B16B00BF69D3 /* GroupAddRequest.swift */,
777FF89E27364B7B00BF69D3 /* GroupEditRequest.swift */,
77AA68E9273E0EC4009C89B0 /* CardAddInGroupRequest.swift */,
77AA68EB273E202D009C89B0 /* CardListRequest.swift */,
);
path = Group;
sourceTree = "<group>";
Expand Down Expand Up @@ -766,6 +769,7 @@
F8C83FAE272F99940009DF0D /* MoyaLoggerPlugin.swift in Sources */,
F84BAFAD26FDB543004CA335 /* FrontCardCreationCollectionViewCell.swift in Sources */,
F822E7A92709CEB60020452C /* Notification.swift in Sources */,
77AA68EC273E202D009C89B0 /* CardListRequest.swift in Sources */,
F8C83FC5272FA2940009DF0D /* CardAPI.swift in Sources */,
F8FC438626C01CDD0033E151 /* AppDelegate.swift in Sources */,
F8C83FB8272F9E3F0009DF0D /* UtilAPI.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// CardListRequest.swift
// NADA-iOS-forRelease
//
// Created by Yi Joon Choi on 2021/11/12.
//

import Foundation

struct CardListRequest: Codable {
var userId: String
var groupId: Int
var offset: Int
}
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 @@ -95,6 +95,22 @@ public class GroupAPI {
}
}

func getCardListFetch(cardListRequest: CardListRequest, completion: @escaping (NetworkResult<Any>) -> Void) {
groupProvider.request(.cardListFetch(cardListRequest: cardListRequest)) { (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 @@ -14,6 +14,7 @@ enum GroupService {
case groupAdd(groupRequest: GroupAddRequest)
case groupEdit(groupRequest: GroupEditRequest)
case cardAddInGroup(cardRequest: CardAddInGroupRequest)
case cardListFetch(cardListRequest: CardListRequest)
}

extension GroupService: TargetType {
Expand All @@ -34,6 +35,8 @@ extension GroupService: TargetType {
return "/group"
case .cardAddInGroup:
return "/groups/card"
case .cardListFetch:
return "/groups/cards"
}
}

Expand All @@ -49,6 +52,8 @@ extension GroupService: TargetType {
return .put
case .cardAddInGroup:
return .post
case .cardListFetch:
return .get
}
}

Expand All @@ -68,6 +73,10 @@ extension GroupService: TargetType {
return .requestJSONEncodable(groupRequest)
case .cardAddInGroup(let cardRequest):
return .requestJSONEncodable(cardRequest)
case .cardListFetch(let cardListRequest):
return .requestParameters(parameters: ["userId": cardListRequest.userId,
"groupId" : cardListRequest.groupId,
"offset" : cardListRequest.offset], encoding: URLEncoding.queryString)
}
}

Expand All @@ -83,6 +92,8 @@ extension GroupService: TargetType {
return ["Content-Type": "application/json"]
case .cardAddInGroup:
return ["Content-Type": "application/json"]
case .cardListFetch:
return ["Content-Type": "application/json"]
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@ class GroupViewController: UIViewController {
super.viewDidLoad()

// 그룹 리스트 조회 서버 테스트
getGroupListFetchWithAPI(userID: "nada")
// getGroupListFetchWithAPI(userID: "nada")
// 그룹 삭제 서버 테스트
// deleteGroupWithAPI(groupID: 1)
// 그룹 추가 서버 테스트
// postGroupAddWithAPI(groupRequest: GroupAddRequest(userId: "nada", groupName: "나다나다"))
// 그룹 수정 서버 테스트
// putGroupEditWithAPI(groupRequest: GroupEditRequest(groupId: 5, groupName: "수정나다"))
// 그룹 속 명함 추가 테스트
// postCardAddInGroupWithAPI(cardRequest: CardAddInGroupRequest(cardId: "cardA", userId: "nada", groupId: 1))
// 그룹 속 명함 조회 테스트
// getCardListWithAPI(cardListRequest: CardListRequest(userId: "nada2", groupId: 3, offset: 0))
}

}
Expand Down Expand Up @@ -113,6 +116,26 @@ extension GroupViewController {
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")
}
}
}

func getCardListWithAPI(cardListRequest: CardListRequest) {
GroupAPI.shared.getCardListFetch(cardListRequest: cardListRequest) { response in
switch response {
case .success(let data):
if let group = data as? Groups {
// print(group)
// 그룹 추가 서버 통신 성공했을 떄
}
Expand Down

0 comments on commit 1f62610

Please sign in to comment.