// // AuditionRepository.swift // SodaLive // // Created by klaus on 1/5/25. // import Foundation import CombineMoya import Combine import Moya final class AuditionRepository { private let api = MoyaProvider() func getAuditionList(page: Int, size: Int) -> AnyPublisher { return api.requestPublisher(.getAuditionList(page: page, size: size)) } func getAuditionDetail(auditionId: Int) -> AnyPublisher { return api.requestPublisher(.getAuditionDetail(auditionId: auditionId)) } func getAuditionRoleDetail(auditionRoleId: Int) -> AnyPublisher { return api.requestPublisher(.getAuditionRoleDetail(auditionRoleId: auditionRoleId)) } func getAuditionApplicantList(auditionRoleId: Int, sortType: AuditionApplicantSortType, page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .getAuditionApplicantList( auditionRoleId: auditionRoleId, sortType: sortType, page: page, size: size ) ) } func applyAudition(parameters: [MultipartFormData]) -> AnyPublisher { return api.requestPublisher(.applyAudition(parameters: parameters)) } func voteApplicant(applicantId: Int) -> AnyPublisher { return api.requestPublisher(.voteApplicant(applicantId: applicantId)) } }