Skip to content

Commit bd30379

Browse files
Merge pull request #50 from WhereAreYouPJ/feat/Feeds
feat(#47, #35): feedRepository, UseCase 구현 완료
2 parents b971c2a + 9d79d47 commit bd30379

16 files changed

+261
-59
lines changed

Where_Are_You.xcodeproj/project.pbxproj

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@
4949
992F57C82C5B26D700219C6B /* ResetPasswordBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57C72C5B26D700219C6B /* ResetPasswordBody.swift */; };
5050
992F57CC2C5B270300219C6B /* LoginBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57CB2C5B270300219C6B /* LoginBody.swift */; };
5151
992F57CE2C5B28A800219C6B /* EmailVerifyBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57CD2C5B28A800219C6B /* EmailVerifyBody.swift */; };
52-
992F57D22C5B28D600219C6B /* EmailSendBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57D12C5B28D600219C6B /* EmailSendBody.swift */; };
5352
992F57D42C5B28E900219C6B /* MemberSearchParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57D32C5B28E900219C6B /* MemberSearchParameters.swift */; };
54-
992F57D82C5B290900219C6B /* CheckEmailParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57D72C5B290900219C6B /* CheckEmailParameters.swift */; };
5553
992F57DB2C5B2A1D00219C6B /* MemberAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57DA2C5B2A1D00219C6B /* MemberAPI.swift */; };
5654
992F57DD2C5B56E200219C6B /* AutoTokenPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57DC2C5B56E200219C6B /* AutoTokenPlugin.swift */; };
5755
992F57DF2C5B614A00219C6B /* LogoutUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992F57DE2C5B614A00219C6B /* LogoutUseCase.swift */; };
@@ -177,6 +175,11 @@
177175
99EDF5882CE874AB0008B19A /* SnsSignUpUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF5872CE874AB0008B19A /* SnsSignUpUseCase.swift */; };
178176
99EDF58A2CE8764B0008B19A /* AccountLinkUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF5892CE8764B0008B19A /* AccountLinkUseCase.swift */; };
179177
99EDF58C2CE877BD0008B19A /* DeleteMemberUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF58B2CE877BD0008B19A /* DeleteMemberUseCase.swift */; };
178+
99EDF58E2CE884820008B19A /* GetFeedListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF58D2CE884820008B19A /* GetFeedListResponse.swift */; };
179+
99EDF5902CE885CC0008B19A /* GetFeedDetailsResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF58F2CE885CC0008B19A /* GetFeedDetailsResponse.swift */; };
180+
99EDF5922CE8AD2A0008B19A /* DeleteFeedUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF5912CE8AD2A0008B19A /* DeleteFeedUseCase.swift */; };
181+
99EDF5942CE8AD7A0008B19A /* GetFeedListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF5932CE8AD7A0008B19A /* GetFeedListUseCase.swift */; };
182+
99EDF5962CE8AD980008B19A /* GetFeedDetailsUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EDF5952CE8AD980008B19A /* GetFeedDetailsUseCase.swift */; };
180183
99EF53A02C366D8900C6A399 /* APIServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EF539F2C366D8900C6A399 /* APIServiceTests.swift */; };
181184
99EFC7692CD0B9420044DFC5 /* PutLocationUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EFC7682CD0B9420044DFC5 /* PutLocationUseCase.swift */; };
182185
99EFC76B2CD0B9560044DFC5 /* PostLocationUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EFC76A2CD0B9560044DFC5 /* PostLocationUseCase.swift */; };
@@ -187,7 +190,6 @@
187190
99FBA5562C453BDD002EEEC7 /* HomeFeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FBA5552C453BDD002EEEC7 /* HomeFeedViewController.swift */; };
188191
99FBA5582C453C05002EEEC7 /* HomeFeedViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FBA5572C453C05002EEEC7 /* HomeFeedViewModel.swift */; };
189192
99FDD0BD2C6DF72700B15026 /* MultipartFormDataHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FDD0BC2C6DF72700B15026 /* MultipartFormDataHelper.swift */; };
190-
99FDD0BF2C6DF99400B15026 /* ReadFeedUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FDD0BE2C6DF99400B15026 /* ReadFeedUseCase.swift */; };
191193
D512EC572CA6E56C001AC965 /* GetScheduleByDateResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = D512EC562CA6E56C001AC965 /* GetScheduleByDateResponse.swift */; };
192194
D51AC99C2C849AB400D0AD2E /* LocationAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51AC99B2C849AB400D0AD2E /* LocationAPI.swift */; };
193195
D51AC99F2C84A0AD00D0AD2E /* FavLocationResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51AC99E2C84A0AD00D0AD2E /* FavLocationResponse.swift */; };
@@ -289,9 +291,7 @@
289291
992F57C72C5B26D700219C6B /* ResetPasswordBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPasswordBody.swift; sourceTree = "<group>"; };
290292
992F57CB2C5B270300219C6B /* LoginBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginBody.swift; sourceTree = "<group>"; };
291293
992F57CD2C5B28A800219C6B /* EmailVerifyBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmailVerifyBody.swift; sourceTree = "<group>"; };
292-
992F57D12C5B28D600219C6B /* EmailSendBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmailSendBody.swift; sourceTree = "<group>"; };
293294
992F57D32C5B28E900219C6B /* MemberSearchParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberSearchParameters.swift; sourceTree = "<group>"; };
294-
992F57D72C5B290900219C6B /* CheckEmailParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckEmailParameters.swift; sourceTree = "<group>"; };
295295
992F57DA2C5B2A1D00219C6B /* MemberAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberAPI.swift; sourceTree = "<group>"; };
296296
992F57DC2C5B56E200219C6B /* AutoTokenPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoTokenPlugin.swift; sourceTree = "<group>"; };
297297
992F57DE2C5B614A00219C6B /* LogoutUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoutUseCase.swift; sourceTree = "<group>"; };
@@ -421,6 +421,11 @@
421421
99EDF5872CE874AB0008B19A /* SnsSignUpUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnsSignUpUseCase.swift; sourceTree = "<group>"; };
422422
99EDF5892CE8764B0008B19A /* AccountLinkUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountLinkUseCase.swift; sourceTree = "<group>"; };
423423
99EDF58B2CE877BD0008B19A /* DeleteMemberUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteMemberUseCase.swift; sourceTree = "<group>"; };
424+
99EDF58D2CE884820008B19A /* GetFeedListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetFeedListResponse.swift; sourceTree = "<group>"; };
425+
99EDF58F2CE885CC0008B19A /* GetFeedDetailsResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetFeedDetailsResponse.swift; sourceTree = "<group>"; };
426+
99EDF5912CE8AD2A0008B19A /* DeleteFeedUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteFeedUseCase.swift; sourceTree = "<group>"; };
427+
99EDF5932CE8AD7A0008B19A /* GetFeedListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetFeedListUseCase.swift; sourceTree = "<group>"; };
428+
99EDF5952CE8AD980008B19A /* GetFeedDetailsUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetFeedDetailsUseCase.swift; sourceTree = "<group>"; };
424429
99EF53952C366D2B00C6A399 /* Where_Are_You_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Where_Are_You_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
425430
99EF539F2C366D8900C6A399 /* APIServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIServiceTests.swift; sourceTree = "<group>"; };
426431
99EF53A12C366EEE00C6A399 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -436,7 +441,6 @@
436441
99FBA5552C453BDD002EEEC7 /* HomeFeedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFeedViewController.swift; sourceTree = "<group>"; };
437442
99FBA5572C453C05002EEEC7 /* HomeFeedViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFeedViewModel.swift; sourceTree = "<group>"; };
438443
99FDD0BC2C6DF72700B15026 /* MultipartFormDataHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultipartFormDataHelper.swift; sourceTree = "<group>"; };
439-
99FDD0BE2C6DF99400B15026 /* ReadFeedUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadFeedUseCase.swift; sourceTree = "<group>"; };
440444
A65D158E4FE647BC00BD20B1 /* Pods_Where_Are_You.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Where_Are_You.framework; sourceTree = BUILT_PRODUCTS_DIR; };
441445
AA5015275FE458D5F6450041 /* Pods-Where_Are_You.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Where_Are_You.release.xcconfig"; path = "Target Support Files/Pods-Where_Are_You/Pods-Where_Are_You.release.xcconfig"; sourceTree = "<group>"; };
442446
D512EC562CA6E56C001AC965 /* GetScheduleByDateResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetScheduleByDateResponse.swift; sourceTree = "<group>"; };
@@ -601,8 +605,8 @@
601605
992F57C32C5B1EBE00219C6B /* Requests */ = {
602606
isa = PBXGroup;
603607
children = (
604-
D564EDF32C8F12DC0002A4C5 /* Locations */,
605608
992F57C12C5B1E8900219C6B /* ParameterConvertible.swift */,
609+
D564EDF32C8F12DC0002A4C5 /* Locations */,
606610
992F57C42C5B264400219C6B /* Member */,
607611
99D780DA2C6055A0005A3F30 /* FriendRequest */,
608612
99D780D92C605592005A3F30 /* Schedule */,
@@ -618,9 +622,7 @@
618622
992F57C72C5B26D700219C6B /* ResetPasswordBody.swift */,
619623
992F57CB2C5B270300219C6B /* LoginBody.swift */,
620624
992F57CD2C5B28A800219C6B /* EmailVerifyBody.swift */,
621-
992F57D12C5B28D600219C6B /* EmailSendBody.swift */,
622625
992F57D32C5B28E900219C6B /* MemberSearchParameters.swift */,
623-
992F57D72C5B290900219C6B /* CheckEmailParameters.swift */,
624626
99EDF5812CE862120008B19A /* MemberSnsBody.swift */,
625627
99EDF5832CE864180008B19A /* DeleteMemberBody.swift */,
626628
);
@@ -817,6 +819,8 @@
817819
children = (
818820
99107EA02C6F2C94007D129F /* SaveFeedResponse.swift */,
819821
99CF9BFE2CD341F40079BE81 /* GetBookMarkResponse.swift */,
822+
99EDF58D2CE884820008B19A /* GetFeedListResponse.swift */,
823+
99EDF58F2CE885CC0008B19A /* GetFeedDetailsResponse.swift */,
820824
);
821825
path = Feed;
822826
sourceTree = "<group>";
@@ -863,9 +867,11 @@
863867
99C68E4E2C64B93C00DEC1F1 /* Feed */ = {
864868
isa = PBXGroup;
865869
children = (
866-
99C68E4F2C64B96500DEC1F1 /* SaveFeedUseCase.swift */,
867870
99C68E512C64B96E00DEC1F1 /* ModifyFeedUseCase.swift */,
868-
99FDD0BE2C6DF99400B15026 /* ReadFeedUseCase.swift */,
871+
99C68E4F2C64B96500DEC1F1 /* SaveFeedUseCase.swift */,
872+
99EDF5912CE8AD2A0008B19A /* DeleteFeedUseCase.swift */,
873+
99EDF5932CE8AD7A0008B19A /* GetFeedListUseCase.swift */,
874+
99EDF5952CE8AD980008B19A /* GetFeedDetailsUseCase.swift */,
869875
99CF9C002CD343620079BE81 /* GetBookMarkFeedUseCase.swift */,
870876
99CF9C022CD343790079BE81 /* PostBookMarkFeedUseCase.swift */,
871877
99CF9C042CD3438C0079BE81 /* DeleteBookMarkFeedUseCase.swift */,
@@ -1659,7 +1665,6 @@
16591665
9950C6572C1040FD003155A7 /* TermsAgreementViewController.swift in Sources */,
16601666
99960AB12CE1D96D007D2B61 /* DeleteScheduleUseCase.swift in Sources */,
16611667
9910B8522C71EAA4005F7EEE /* ScheduleDropDownCell.swift in Sources */,
1662-
99FDD0BF2C6DF99400B15026 /* ReadFeedUseCase.swift in Sources */,
16631668
99EDF5822CE862120008B19A /* MemberSnsBody.swift in Sources */,
16641669
99D8FBBB2C3BA1D90062AF10 /* MainHomeViewController.swift in Sources */,
16651670
99D8FBB52C3B9F9F0062AF10 /* MainHomeView.swift in Sources */,
@@ -1689,11 +1694,11 @@
16891694
99C9B2422C01CE4C008D7CBD /* AccountLoginViewModel.swift in Sources */,
16901695
99107EA12C6F2C94007D129F /* SaveFeedResponse.swift in Sources */,
16911696
99E8BC3F2C2CEB1D00536B95 /* GenericResponse.swift in Sources */,
1692-
992F57D82C5B290900219C6B /* CheckEmailParameters.swift in Sources */,
16931697
D585E2872C82F6C600C16A14 /* GetScheduleByMonthResponse.swift in Sources */,
16941698
9911F9882C3F63D500D0FDC9 /* Feed.swift in Sources */,
16951699
99EDF5862CE873EB0008B19A /* ModifyProfileImageUseCase.swift in Sources */,
16961700
99949F592C58B81A00AE0177 /* FriendsViewModel.swift in Sources */,
1701+
99EDF58E2CE884820008B19A /* GetFeedListResponse.swift in Sources */,
16971702
99D8FBB92C3BA1CD0062AF10 /* MainTabBarController.swift in Sources */,
16981703
9911F9862C3F5E6F00D0FDC9 /* DDayView.swift in Sources */,
16991704
D51AC99F2C84A0AD00D0AD2E /* FavLocationResponse.swift in Sources */,
@@ -1714,10 +1719,10 @@
17141719
99CF9BFF2CD341F40079BE81 /* GetBookMarkResponse.swift in Sources */,
17151720
D5D807ED2C85F60B008F7882 /* FriendsView.swift in Sources */,
17161721
99C68E502C64B96500DEC1F1 /* SaveFeedUseCase.swift in Sources */,
1722+
99EDF5942CE8AD7A0008B19A /* GetFeedListUseCase.swift in Sources */,
17171723
997DC6572C3D253000EACA5F /* UserDefaultManager.swift in Sources */,
17181724
99C6D2A32C904006009C0CF8 /* GetDDayScheduleUseCase.swift in Sources */,
17191725
9950C64E2C102FB6003155A7 /* TermsAgreementView.swift in Sources */,
1720-
992F57D22C5B28D600219C6B /* EmailSendBody.swift in Sources */,
17211726
9985AB972C786D0400D1442E /* MyDetailManageView.swift in Sources */,
17221727
99E8BC452C2D26CF00536B95 /* EmailVerifyUseCase.swift in Sources */,
17231728
9913A44D2C7583D400309DBF /* CustomView.swift in Sources */,
@@ -1733,6 +1738,7 @@
17331738
99949F4F2C58890C00AE0177 /* ProfileView.swift in Sources */,
17341739
99E7BA592C69A5D500F79C96 /* ImageUtility.swift in Sources */,
17351740
99C1403E2C6496BC00A706B6 /* NoDataView.swift in Sources */,
1741+
99EDF5962CE8AD980008B19A /* GetFeedDetailsUseCase.swift in Sources */,
17361742
9910B8502C71E5B5005F7EEE /* ScheduleDropDownView.swift in Sources */,
17371743
99C68E522C64B96E00DEC1F1 /* ModifyFeedUseCase.swift in Sources */,
17381744
99C6D29E2C90379F009C0CF8 /* APIResponseHandler.swift in Sources */,
@@ -1805,6 +1811,7 @@
18051811
9950C6592C10B0DF003155A7 /* SignUpFormView.swift in Sources */,
18061812
99CF9BFB2CD317920079BE81 /* FeedBookMarkViewController.swift in Sources */,
18071813
99FBA5582C453C05002EEEC7 /* HomeFeedViewModel.swift in Sources */,
1814+
99EDF5902CE885CC0008B19A /* GetFeedDetailsResponse.swift in Sources */,
18081815
99949F512C588B6200AE0177 /* FavoritesTableView.swift in Sources */,
18091816
99960AAB2CE1D26C007D2B61 /* GetScheduleUseCase.swift in Sources */,
18101817
992F57CE2C5B28A800219C6B /* EmailVerifyBody.swift in Sources */,
@@ -1824,6 +1831,7 @@
18241831
99E9DC852CE48AA3007FFD91 /* FeedImageCell.swift in Sources */,
18251832
99107EA32C6F3E42007D129F /* DDay.swift in Sources */,
18261833
D5DB6C6F2CDA2A0900D89360 /* ScheduleDetailViewModel.swift in Sources */,
1834+
99EDF5922CE8AD2A0008B19A /* DeleteFeedUseCase.swift in Sources */,
18271835
99CA4F262C33B704007C027C /* ResetPasswordViewModel.swift in Sources */,
18281836
99D23FF42C6889BA00CFD4F0 /* FeedDetailViewModel.swift in Sources */,
18291837
99DA18B92C4E132A00D5CDA6 /* TitleView.swift in Sources */,

Where_Are_You/Data/Models/Requests/Feed/FeedRequest.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ struct SaveFeedRequest: Codable {
1717

1818
struct ModifyFeedRequest: Codable {
1919
let feedSeq: Int
20-
let creatorSeq: Int
20+
let memberSeq: Int
2121
let title: String
2222
let content: String?
23+
let feedImageOrders: [Int]
24+
}
25+
26+
struct DeleteFeedRequest: ParameterConvertible {
27+
let memberSeq: Int
28+
let feedSeq: Int
2329
}

Where_Are_You/Data/Models/Requests/Member/CheckEmailParameters.swift

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

Where_Are_You/Data/Models/Requests/Member/EmailSendBody.swift

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//
2+
// GetFeedDetailsResponse.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 16/11/2024.
6+
//
7+
8+
import Foundation
9+
10+
// MARK: - DataClass
11+
struct GetFeedDetailsResponse: Codable {
12+
let scheduleInfo: ScheduleInfo
13+
let scheduleFeedInfo: [ScheduleFeedInfo]
14+
let scheduleFriendInfo: [Info]
15+
}
16+
17+
// MARK: - ScheduleFeedInfo
18+
struct ScheduleFeedInfo: Codable {
19+
let memberInfo: Info
20+
let feedInfo: FeedInfo
21+
let feedImageInfos: [FeedImageInfo]
22+
let bookMarkInfo: Bool
23+
}
24+
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//
2+
// GetFeedListResponse.swift
3+
// Where_Are_You
4+
//
5+
// Created by 오정석 on 16/11/2024.
6+
//
7+
8+
import Foundation
9+
// MARK: - DataClass
10+
struct GetFeedListResponse: Codable {
11+
let totalElements, totalPages, size: Int
12+
let content: [Content]
13+
let number: Int
14+
let sort: Sort
15+
let numberOfElements: Int
16+
let pageable: Pageable
17+
let first, last, empty: Bool
18+
}
19+
20+
// MARK: - Content
21+
struct Content: Codable {
22+
let scheduleInfo: ScheduleInfo
23+
let scheduleFeedInfo: [ScheduleFeedInfo]
24+
let scheduleFriendInfo: [Info]
25+
}
26+
27+
// MARK: - FeedImageInfo
28+
struct FeedImageInfo: Codable {
29+
let feedImageSeq: Int
30+
let feedImageURL: String
31+
let feedImageOrder: Int
32+
}
33+
34+
// MARK: - FeedInfo
35+
struct FeedInfo: Codable {
36+
let feedSeq: Int
37+
let title, content: String
38+
}
39+
40+
// MARK: - Info
41+
struct Info: Codable {
42+
let memberSeq: Int
43+
let userName, profileImage: String
44+
}
45+
46+
// MARK: - ScheduleInfo
47+
struct ScheduleInfo: Codable {
48+
let scheduleSeq: Int
49+
let startTime, location: String
50+
}

Where_Are_You/Data/Models/Responses/Member/CheckEmailResponse.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ import Foundation
99

1010
struct CheckEmailResponse: Codable {
1111
let email: String
12+
let type: [String]
1213
}

Where_Are_You/Data/Network/Feed/FeedAPI.swift

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ import Moya
1010
enum FeedAPI {
1111
case putFeed(request: ModifyFeedRequest, images: [UIImage]?)
1212
case postFeed(request: SaveFeedRequest, images: [UIImage]?)
13+
case deleteFeed(request: DeleteFeedRequest)
14+
case getFeedList(memberSeq: Int, page: Int32)
15+
case getFeedDetails(memberSeq: Int, scheduleSeq: Int)
1316

1417
case getBookMarkFeed(memberSeq: Int, page: Int32)
1518
case postBookMarkFeed(request: BookMarkFeedRequest)
@@ -23,7 +26,16 @@ extension FeedAPI: TargetType {
2326
}
2427

2528
var path: String {
26-
return "/feed"
29+
switch self {
30+
case .putFeed, .postFeed, .deleteFeed:
31+
return "/feed"
32+
case .getFeedList:
33+
return "/feed/list"
34+
case .getFeedDetails:
35+
return "/feed/details"
36+
case .getBookMarkFeed, .postBookMarkFeed, .deleteBookMarkFeed:
37+
return "/book-mark"
38+
}
2739
}
2840

2941
var method: Moya.Method {
@@ -32,9 +44,9 @@ extension FeedAPI: TargetType {
3244
return .put
3345
case .postFeed, .postBookMarkFeed:
3446
return .post
35-
case .getBookMarkFeed:
47+
case .getBookMarkFeed, .getFeedList, .getFeedDetails:
3648
return .get
37-
case .deleteBookMarkFeed:
49+
case .deleteBookMarkFeed, .deleteFeed:
3850
return .delete
3951
}
4052
}
@@ -47,6 +59,12 @@ extension FeedAPI: TargetType {
4759
case .postFeed(let request, let images):
4860
let multipartData = MultipartFormDataHelper.createMultipartData(from: request, images: images)
4961
return .uploadMultipart(multipartData)
62+
case .deleteFeed(let request):
63+
return .requestParameters(parameters: request.toParameters() ?? [:], encoding: JSONEncoding.default)
64+
case .getFeedList(let memberSeq, let page):
65+
return .requestParameters(parameters: ["memberSeq": memberSeq, "page": page], encoding: URLEncoding.queryString)
66+
case .getFeedDetails(let memberSeq, let scheduleSeq):
67+
return .requestParameters(parameters: ["memberSeq": memberSeq, "scheduleSeq": scheduleSeq], encoding: URLEncoding.queryString)
5068

5169
case .getBookMarkFeed(let memberSeq, let page):
5270
return .requestParameters(parameters: ["memberSeq": memberSeq, "page": page], encoding: URLEncoding.queryString)

0 commit comments

Comments
 (0)