Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
//
// HomeRepositoryImpl.swift
// Poppool
//
// Created by Porori on 11/26/24.
//

import Foundation

struct HomeAPIEndpoint {

static func fetchHome(
request: SortedRequestDTO
request: HomeSortedRequestDTO
) -> Endpoint<GetHomeInfoResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
Expand All @@ -21,7 +14,7 @@ struct HomeAPIEndpoint {
}

static func fetchPopularPopUp(
request: SortedRequestDTO
request: HomeSortedRequestDTO
) -> Endpoint<GetHomeInfoResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
Expand All @@ -32,7 +25,7 @@ struct HomeAPIEndpoint {
}

static func fetchNewPopUp(
request: SortedRequestDTO
request: HomeSortedRequestDTO
) -> Endpoint<GetHomeInfoResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
Expand All @@ -43,7 +36,7 @@ struct HomeAPIEndpoint {
}

static func fetchCustomPopUp(
request: SortedRequestDTO
request: HomeSortedRequestDTO
) -> Endpoint<GetHomeInfoResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import Foundation

struct HomeSortedRequestDTO: Encodable {
var page: Int32?
var size: Int32?
var sort: String?
}
16 changes: 0 additions & 16 deletions Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import Foundation

struct UserSortedRequestDTO: Encodable {
var page: Int32?
var size: Int32?
var sort: String?
}
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ struct UserAPIEndPoint {
)
}

static func getMyCommentedPopUp(request: SortedRequestDTO) -> Endpoint<GetMyCommentedPopUpResponseDTO> {
static func getMyCommentedPopUp(request: UserSortedRequestDTO) -> Endpoint<GetMyCommentedPopUpResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
path: "/users/commented/popup",
Expand All @@ -151,7 +151,7 @@ struct UserAPIEndPoint {
)
}

static func getBlockUserList(request: GetBlockUserListRequestDTO) -> Endpoint<GetBlockUserListResponseDTO> {
static func getBlockUserList(request: UserSortedRequestDTO) -> Endpoint<GetBlockUserListResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
path: "/users/blocked",
Expand All @@ -176,7 +176,7 @@ struct UserAPIEndPoint {
)
}

static func getRecentPopUp(request: SortedRequestDTO) -> Endpoint<GetRecentPopUpResponseDTO> {
static func getRecentPopUp(request: UserSortedRequestDTO) -> Endpoint<GetRecentPopUpResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
path: "/users/recent-popupstores",
Expand All @@ -185,7 +185,7 @@ struct UserAPIEndPoint {
)
}

static func getBookmarkPopUp(request: SortedRequestDTO) -> Endpoint<GetRecentPopUpResponseDTO> {
static func getBookmarkPopUp(request: UserSortedRequestDTO) -> Endpoint<GetRecentPopUpResponseDTO> {
return Endpoint(
baseURL: Secrets.popPoolBaseURL,
path: "/users/bookmark-popupstores",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,26 @@ final class HomeAPIRepositoryImpl: HomeAPIRepository {
self.provider = provider
}

func fetchHome(request: SortedRequestDTO) -> Observable<GetHomeInfoResponse> {
func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable<GetHomeInfoResponse> {
let request = HomeSortedRequestDTO(page: page, size: size, sort: sort)
let endPoint = HomeAPIEndpoint.fetchHome(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() })
}

func fetchCustomPopUp(request: SortedRequestDTO) -> Observable<GetHomeInfoResponse> {
func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable<GetHomeInfoResponse> {
let request = HomeSortedRequestDTO(page: page, size: size, sort: sort)
let endPoint = HomeAPIEndpoint.fetchCustomPopUp(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() })
}

func fetchNewPopUp(request: SortedRequestDTO) -> Observable<GetHomeInfoResponse> {
func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable<GetHomeInfoResponse> {
let request = HomeSortedRequestDTO(page: page, size: size, sort: sort)
let endPoint = HomeAPIEndpoint.fetchNewPopUp(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() })
}

func fetchPopularPopUp(request: SortedRequestDTO) -> Observable<GetHomeInfoResponse> {
func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable<GetHomeInfoResponse> {
let request = HomeSortedRequestDTO(page: page, size: size, sort: sort)
let endPoint = HomeAPIEndpoint.fetchPopularPopUp(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() })
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,60 @@ final class PopUpAPIRepositoryImpl: PopUpAPIRepository {
self.provider = provider
}

func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable {
func postBookmarkPopUp(popUpStoreId: Int64) -> Completable {
let request = PostBookmarkPopUpRequestDTO(popUpStoreId: popUpStoreId)
let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: request)
return provider.request(with: endPoint, interceptor: tokenInterceptor)
}

func getClosePopUpList(request: GetSearchPopUpListRequestDTO) -> Observable<GetClosePopUpListResponseDTO> {
func getClosePopUpList(
categories: String?,
page: Int32?,
size: Int32?,
sort: String?,
query: String?,
sortCode: String?
) -> Observable<GetSearchBottomPopUpListResponse> {
let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode)
let endPoint = PopUpAPIEndPoint.getClosePopUpList(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() }
}

func getOpenPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable<GetOpenPopUpListResponseDTO> {
func getOpenPopUpList(
categories: String?,
page: Int32?,
size: Int32?,
sort: String?,
query: String?,
sortCode: String?
) -> Observable<GetSearchBottomPopUpListResponse> {
let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode)
let endPoint = PopUpAPIEndPoint.getOpenPopUpList(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() }
}

func getSearchPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable<GetSearchPopUpListResponseDTO> {
func getSearchPopUpList(
categories: String?,
page: Int32?,
size: Int32?,
sort: String?,
query: String?,
sortCode: String?
) -> Observable<GetSearchPopUpListResponse> {
let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode)
let endPoint = PopUpAPIEndPoint.getSearchPopUpList(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() }
}

func getPopUpDetail(request: GetPopUpDetailRequestDTO) -> Observable<GetPopUpDetailResponseDTO> {
func getPopUpDetail(commentType: String?, popUpStoreId: Int64, viewCountYn: Bool?) -> Observable<GetPopUpDetailResponse> {
let request = GetPopUpDetailRequestDTO(commentType: commentType, popUpStoreId: popUpStoreId, viewCountYn: viewCountYn)
let endPoint = PopUpAPIEndPoint.getPopUpDetail(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() }
}

func getPopUpComment(request: GetPopUpCommentRequestDTO) -> Observable<GetPopUpCommentResponseDTO> {
func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable<GetPopUpCommentResponse> {
let request = GetPopUpCommentRequestDTO(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId)
let endPoint = PopUpAPIEndPoint.getPopUpComment(request: request)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor)
return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() }
}
}
Loading