Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

오픈 마켓 [STEP 1] 아리,제리 #82

Merged
merged 43 commits into from
Jan 7, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ca846b3
style: SwfitLint 라이브러리 추가
leeari95 Jan 3, 2022
d04a121
feat: Products 타입 추가 #1
llghdud921 Jan 3, 2022
2b14a79
feat: Product 타입 추가 #1
leeari95 Jan 3, 2022
f57c0e3
chore: products 파일 Assests에 추가
llghdud921 Jan 3, 2022
82fafce
feat: 파싱해주는 타입 Parser을 추가 #1
leeari95 Jan 3, 2022
a8e9388
test: ParsetTest 추가 #2
llghdud921 Jan 3, 2022
59f34d1
test: product를 파싱하는 테스트 추가 #2
leeari95 Jan 4, 2022
c4406dd
feat: network class 타입 및 NetworkError 추가 #3
llghdud921 Jan 4, 2022
4c22c0a
feat: URL과 HTTPMethod를 담고있는 타입 추가 #3
leeari95 Jan 4, 2022
2af414a
feat: NetworkManager 추가 #3
llghdud921 Jan 4, 2022
4446fd0
feat: 상품 리스트 조회시 필요한 request를 반환하는 메소드 추가 #3
leeari95 Jan 4, 2022
826aaf3
feat: 상품 상세 조회를 위한 request메서드 추가 #3
llghdud921 Jan 4, 2022
2679eef
feat: 상품의 Secret을 조회할 때 필요한 Request 반환하는 메소드 추가 #3
leeari95 Jan 4, 2022
c67be7b
feat: 상품 삭제를 위한 request 메소드 추가 #3
llghdud921 Jan 4, 2022
0cefe03
feat: 상품 수정을 위한 request 메소드 추가 #3
leeari95 Jan 4, 2022
b088b10
feat: 상품 등록을 위한 request 추가 #3
llghdud921 Jan 4, 2022
be0cb43
refactor: NetworkManager 내부 리팩토링 #4
leeari95 Jan 4, 2022
27fa33f
refactor: NetworkError 내부 리팩토링 및 ProductSecret 타입명 변경 #4
llghdud921 Jan 4, 2022
e73b5fc
refactor: MultipartForm 프로토콜을 Protocol 그룹으로 이동 #4
leeari95 Jan 4, 2022
a54a4ce
refactor: Products 내 CodingKeys 수정 #4
llghdud921 Jan 4, 2022
3294a3d
test: Network의 excute 메소드를 테스트하는 코드 추가 #5
leeari95 Jan 5, 2022
7872ab5
test: NetworkManager의 fetch를 테스트하는 코드 추가 #5
llghdud921 Jan 5, 2022
cacce89
test: URLProtocol을 재정의하여 테스트 코드를 전반적으로 수정 #5
leeari95 Jan 5, 2022
aa5b4d2
refactor: NetworkManager내 multipart image 경로 수정 #4
llghdud921 Jan 5, 2022
fb39366
test: 상품리스트 조회에 맞는 Request를 반환하는 테스트코드 추가 #5
leeari95 Jan 5, 2022
b0eb1e0
test: 상품 상세 조회를 반환하는 request를 확인하는 테스트코드 추가 #5
llghdud921 Jan 5, 2022
e4cdd8a
test: 상품 삭제 Secret 조회에 맞는 Request를 반환하는 테스트코드 추가 #5
leeari95 Jan 5, 2022
7f373fc
test: 상품 삭제를 반환하는 request를 확인하는 테스트코드 추가 #5
llghdud921 Jan 5, 2022
a245770
test: 상품 수정에 맞는 Request를 반환하는 테스트코드 추가 #5
leeari95 Jan 5, 2022
42a798d
test: 상품 등록을 반환하는 request를 확인하는 테스트코드 추가 #5
llghdud921 Jan 5, 2022
1bde0bd
refactor: multipartFormRequest 메소드 내부에 request의 헤더를 추가하는 부분 수정 #4
leeari95 Jan 6, 2022
cfd7f09
refactor: MockURLProtocol내 주석 제거 #4
llghdud921 Jan 6, 2022
79c207a
refactor: NetworkConstant를 Address와 HTTPMethod로 분리 #4
leeari95 Jan 6, 2022
69352ee
docs: Step1 README 작성
llghdud921 Jan 6, 2022
164da38
docs: README.md 파일 수정
leeari95 Jan 6, 2022
afa5c2a
refactor: 테스트 코드에 중복되는 부분 리팩토링 #6
leeari95 Jan 6, 2022
dd21787
refactor: test code내 주석 및 줄바꿈 수정 #6
llghdud921 Jan 6, 2022
7bd46d8
refactor: Image의 프로퍼티 네이밍을 명확하게 수정 #6
leeari95 Jan 6, 2022
513ae69
refator: Content-type,MultipartForm String값 상수로 정의 #6
llghdud921 Jan 6, 2022
e3b81a7
refactor: 에러의 케이스중 네이밍을 명확하게 개선 #6
leeari95 Jan 6, 2022
05fddcb
refactor: Parser, Parsable에 JSON을 추가한 네이밍으로 개선 #6
llghdud921 Jan 6, 2022
e44134c
refactor: Network 프로퍼티에 접근제어 부여하여 개선 #6
leeari95 Jan 6, 2022
d553f99
refactor: Address를 APIAdress로 네이밍 개선 #6
llghdud921 Jan 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: 에러의 케이스중 네이밍을 명확하게 개선 #6
  • Loading branch information
leeari95 committed Jan 6, 2022
commit e3b81a73f636d531cb4d5fd9cea6c58ee2396f81
8 changes: 4 additions & 4 deletions OpenMarket/OpenMarket/Error/ParserError.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ import Foundation

enum ParserError: LocalizedError {
case assestNotfound
leeari95 marked this conversation as resolved.
Show resolved Hide resolved
case decoding
case encoding
case decodingFail
case encodingFail

var errorDescription: String {
switch self {
case .assestNotfound:
return "에셋 데이터를 찾을 수 없습니다."
case .decoding:
case .decodingFail:
return "디코딩을 하는 도중 에러가 발생했습니다."
case .encoding:
case .encodingFail:
return "인코딩을 하는 도중 에러가 발생했습니다."
}
}
Expand Down
6 changes: 3 additions & 3 deletions OpenMarket/OpenMarket/Model/Network/NetworkManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct NetworkManager {
case .success(let jsonDecode):
completion(.success(jsonDecode))
case .failure:
completion(.failure(ParserError.decoding))
completion(.failure(ParserError.decodingFail))
}
case .failure(let error):
completion(.failure(error))
Expand Down Expand Up @@ -72,7 +72,7 @@ struct NetworkManager {
case .success(let data):
encodeData = data
case .failure:
return .failure(ParserError.encoding)
return .failure(ParserError.encodingFail)
}
var request = URLRequest(url: url)

Expand Down Expand Up @@ -109,7 +109,7 @@ struct NetworkManager {
case .success(let data):
encodeData = data
case .failure:
return .failure(ParserError.encoding)
return .failure(ParserError.encodingFail)
}
var request = URLRequest(url: url)

Expand Down
6 changes: 3 additions & 3 deletions OpenMarket/OpenMarket/Model/Parser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@ struct Parser: Parserable {
return .failure(.assestNotfound)
}
guard let decodeData = try? jsonDecoder.decode(decodingType, from: asset.data) else {
return .failure(.decoding)
return .failure(.decodingFail)
}
return .success(decodeData)
}

func decode<T: Decodable>(source: Data, decodingType: T.Type) -> Result<T, ParserError> {
guard let data = try? jsonDecoder.decode(decodingType, from: source) else {
return .failure(.decoding)
return .failure(.decodingFail)
}
return .success(data)
}

func encode<T: Encodable>(object: T) -> Result<Data, ParserError> {
guard let data = try? jsonEncoder.encode(object) else {
return .failure(.encoding)
return .failure(.encodingFail)
}
return .success(data)
}
Expand Down
2 changes: 1 addition & 1 deletion OpenMarket/OpenMarketTests/Test Doubles/StubParser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ struct StubParser: Parserable {
let product = Product(id: 1, vendorID: 1, name: "", thumbnail: "", currency: .krw, price: 1, bargainPrice: 1, discountedPrice: 1, stock: 1, createdAt: "", issuedAt: "", images: nil, vendors: nil)
return .success(product as! T)
} else {
return .failure(ParserError.decoding)
return .failure(ParserError.decodingFail)
}
}

Expand Down