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