Skip to content

Commit

Permalink
refactor: judgeStatus 함수 refactor (TeamNADA#422)
Browse files Browse the repository at this point in the history
  • Loading branch information
dlwns33 committed Apr 15, 2023
1 parent 9702dfe commit 23f7d18
Showing 1 changed file with 7 additions and 25 deletions.
32 changes: 7 additions & 25 deletions NADA-iOS-forRelease/Sources/NetworkService/Group/GroupAPI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand All @@ -38,7 +38,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand Down Expand Up @@ -70,7 +70,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand All @@ -86,7 +86,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand All @@ -102,7 +102,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand All @@ -118,7 +118,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand Down Expand Up @@ -150,7 +150,7 @@ public class GroupAPI {
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data)
let networkResult = self.judgeStatus(by: statusCode, data: data, type: String.self)
completion(networkResult)

case .failure(let err):
Expand Down Expand Up @@ -201,24 +201,6 @@ public class GroupAPI {
}
}

private func judgeStatus(by statusCode: Int, _ data: Data) -> NetworkResult<Any> {

let decoder = JSONDecoder()
guard let decodedData = try? decoder.decode(GenericResponse<String>.self, from: data)
else { return .pathErr }

switch statusCode {
case 200:
return .success(decodedData.data ?? "None-Data")
case 400..<500:
return .requestErr(decodedData.message ?? "error message")
case 500:
return .serverErr
default:
return .networkFail
}
}

private func judgeStatus<T: Codable>(by statusCode: Int, data: Data, type: T.Type) -> NetworkResult<Any> {
let decoder = JSONDecoder()
guard let decodedData = try? decoder.decode(GenericResponse<T>.self, from: data)
Expand Down

0 comments on commit 23f7d18

Please sign in to comment.