Skip to content

Commit 2374d02

Browse files
authored
Merge pull request #14 from MarketPlace-O2O-Platform/Refactor#12/MyPageView
[Refactor] 마이페이지 네트워크 코드를 추상화 & 쿠폰 Cell UI 수정
2 parents 97bf84e + 87fd21c commit 2374d02

43 files changed

Lines changed: 613 additions & 786 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.DS_Store

0 Bytes
Binary file not shown.

MarketPlace.xcodeproj/project.pbxproj

Lines changed: 58 additions & 62 deletions
Large diffs are not rendered by default.

MarketPlace.xcodeproj/xcshareddata/xcschemes/MarketPlace.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1620"
3+
LastUpgradeVersion = "1630"
44
version = "1.7">
55
<BuildAction
66
parallelizeBuildables = "YES"

MarketPlace/API/Endpoint/MarketEndpoint.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ enum MarketEndpoint: Endpoint {
1111
case fetchMarketsAll(lastPageIndex: Int?, category: String?, pageSize: Int?)
1212
case fetchMarket(marketId: Int)
1313
case fetchMarketsWithSearching(lastPageIndex: Int?, pageSize: Int?, content: String)
14-
case fetchOwnFavoriteMarkets
14+
case fetchOwnFavoriteMarkets(lastModifiedAt: String?, pageSize: Int?)
1515
case fetchMarketsForMap
1616
case postFavoriteMarket(marketId: Int)
1717

@@ -49,7 +49,6 @@ enum MarketEndpoint: Endpoint {
4949
items.append(contentsOf: [
5050
lastPageIndex.map { URLQueryItem(name: "lastPageIndex", value: String($0)) },
5151
(category?.isEmpty == false ? URLQueryItem(name: "category", value: category!) : nil),
52-
// category.map { URLQueryItem(name: "category", value: String($0)) },
5352
pageSize.map { URLQueryItem(name: "pageSize", value: String($0)) }
5453
].compactMap { $0 })
5554

@@ -70,6 +69,17 @@ enum MarketEndpoint: Endpoint {
7069
var items: [URLQueryItem] = []
7170
items.append(URLQueryItem(name: "marketId", value: String(marketId)))
7271
return items
72+
73+
case .fetchOwnFavoriteMarkets(let lastModifiedAt, let pageSize):
74+
var items: [URLQueryItem] = []
75+
76+
items.append(contentsOf: [
77+
lastModifiedAt.map { URLQueryItem(name: "lastModifiedAt", value: String($0)) },
78+
pageSize.map { URLQueryItem(name: "pageSize", value: String($0)) }
79+
].compactMap { $0 })
80+
81+
return items
82+
7383
default:
7484
return nil
7585
}

MarketPlace/API/Endpoint/MemberCouponEndpoint.swift

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,52 @@ import Foundation
99

1010
enum MemberCouponEndpoint: Endpoint {
1111
case downloadCoupon(couponId: Int)
12+
case fetchMemberCoupon(type: String, memberCouponId: Int?, size: Int?)
13+
case useMemberCoupon(memberCouponId: Int)
1214

1315
var baseURL: URL { URLManager.shared.baseURL }
1416

1517
var path: String {
1618
switch self {
1719
case .downloadCoupon(let couponId): return "api/members/coupons/\(couponId)"
20+
case .fetchMemberCoupon: return "api/members/coupons"
21+
case .useMemberCoupon: return "api/members/coupons"
1822
}
1923
}
2024

2125
var method: HTTPMethod {
2226
switch self {
23-
case .downloadCoupon(_):
24-
.post
27+
case .downloadCoupon: .post
28+
case .fetchMemberCoupon: .get
29+
case .useMemberCoupon:.put
2530
}
2631
}
2732

2833
var headers: [String : String]? { ["Content-Type": "application/json"] }
2934

3035
var body: Data? { nil }
3136

32-
var queryItems: [URLQueryItem]? { nil }
37+
var queryItems: [URLQueryItem]? {
38+
switch self {
39+
case .fetchMemberCoupon(let type, let memberCouponId, let size):
40+
var items: [URLQueryItem] = []
41+
42+
items.append(contentsOf: [
43+
URLQueryItem(name: "type", value: type),
44+
memberCouponId.map { URLQueryItem(name: "memberCouponId", value: String($0)) },
45+
size.map { URLQueryItem(name: "size", value: String($0)) }
46+
].compactMap { $0 })
47+
48+
return items
49+
50+
case .useMemberCoupon(let memberCouponId):
51+
var items: [URLQueryItem] = []
52+
53+
items.append(URLQueryItem(name: "memberCouponId", value: String(memberCouponId)))
54+
55+
return items
56+
57+
default: return nil
58+
}
59+
}
3360
}

MarketPlace/API/Endpoint/MemberEndPoint.swift

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,21 @@ import Foundation
1010
enum MemberEndPoint: Endpoint {
1111
case fetchMemberInfo
1212
case signIn
13+
case fetchFavoriteMarket(lastPageIndex: Int?, category: String?, count: Int?)
1314

1415
var baseURL: URL { URLManager.shared.baseURL }
1516

1617
var path: String {
1718
switch self {
1819
case .fetchMemberInfo: return "api/members"
1920
case .signIn: return "api/members"
21+
case .fetchFavoriteMarket: return "api/tempMarkets"
2022
}
2123
}
2224

2325
var method: HTTPMethod {
2426
switch self {
25-
case .fetchMemberInfo:
27+
case .fetchMemberInfo, .fetchFavoriteMarket:
2628
.get
2729
case .signIn:
2830
.post
@@ -33,5 +35,20 @@ enum MemberEndPoint: Endpoint {
3335

3436
var body: Data? { nil }
3537

36-
var queryItems: [URLQueryItem]? { nil }
38+
var queryItems: [URLQueryItem]? {
39+
switch self {
40+
case .fetchFavoriteMarket(let lastPageIndex, let category, let count):
41+
var items: [URLQueryItem] = []
42+
43+
items.append(contentsOf: [
44+
lastPageIndex.map { URLQueryItem(name: "lastPageIndex", value: String($0)) },
45+
(category?.isEmpty == false ? URLQueryItem(name: "category", value: category!) : nil),
46+
count.map { URLQueryItem(name: "count", value: String($0)) }
47+
].compactMap { $0 })
48+
49+
return items
50+
51+
default: return nil
52+
}
53+
}
3754
}

MarketPlace/API/Service/NetworkService.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ protocol NetworkServiceProtocol {
1414
final class NetworkService: NetworkServiceProtocol {
1515
func request<T: Decodable>(_ endpoint: Endpoint) async -> NetworkResult<T> {
1616
var request = endpoint.urlRequest
17-
17+
print(request.url)
18+
1819
if let token = KeychainManager.getToken() {
1920
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
2021
} else {
2.12 KB
Loading

MarketPlace/Assets.xcassets/myCoupon_canuse.imageset/Contents.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"images" : [
33
{
4-
"filename" : "myCoupon_canuse.svg",
4+
"filename" : "Component 2.png",
55
"idiom" : "universal",
66
"scale" : "1x"
77
},

MarketPlace/Assets.xcassets/myCoupon_canuse.imageset/myCoupon_canuse.svg

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)