Files
sodalive-ios/SodaLive/Sources/V2/Gift/Repository/GiftRepository.swift
T

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))
}
}