44 lines
1.4 KiB
Swift
44 lines
1.4 KiB
Swift
import Foundation
|
|
import Combine
|
|
|
|
import CombineMoya
|
|
import Moya
|
|
|
|
final class GiftRepository {
|
|
private let api = MoyaProvider<GiftApi>()
|
|
|
|
func getFormOptions() -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.getFormOptions)
|
|
}
|
|
|
|
func createGift(request: CreateGiftRequest) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.create(request: request))
|
|
}
|
|
|
|
func getGifts(page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.getGifts(page: page, size: size))
|
|
}
|
|
|
|
func getGift(applicationNo: String) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.getGift(applicationNo: applicationNo))
|
|
}
|
|
|
|
func cancelGift(applicationNo: String) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.cancel(applicationNo: applicationNo))
|
|
}
|
|
|
|
func registerTracking(
|
|
applicationNo: String,
|
|
request: RegisterGiftTrackingRequest
|
|
) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.registerTracking(applicationNo: applicationNo, request: request))
|
|
}
|
|
|
|
func submitRecipientAddress(
|
|
applicationNo: String,
|
|
request: SubmitGiftRecipientAddressRequest
|
|
) -> AnyPublisher<Response, MoyaError> {
|
|
return api.requestPublisher(.submitRecipientAddress(applicationNo: applicationNo, request: request))
|
|
}
|
|
}
|