47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  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<AuditionApi>()
 | 
						|
    
 | 
						|
    func getAuditionList(page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(.getAuditionList(page: page, size: size))
 | 
						|
    }
 | 
						|
    
 | 
						|
    func getAuditionDetail(auditionId: Int) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(.getAuditionDetail(auditionId: auditionId))
 | 
						|
    }
 | 
						|
    
 | 
						|
    func getAuditionRoleDetail(auditionRoleId: Int) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(.getAuditionRoleDetail(auditionRoleId: auditionRoleId))
 | 
						|
    }
 | 
						|
    
 | 
						|
    func getAuditionApplicantList(auditionRoleId: Int, sortType: AuditionApplicantSortType, page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(
 | 
						|
            .getAuditionApplicantList(
 | 
						|
                auditionRoleId: auditionRoleId,
 | 
						|
                sortType: sortType,
 | 
						|
                page: page,
 | 
						|
                size: size
 | 
						|
            )
 | 
						|
        )
 | 
						|
    }
 | 
						|
    
 | 
						|
    func applyAudition(parameters: [MultipartFormData]) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(.applyAudition(parameters: parameters))
 | 
						|
    }
 | 
						|
    
 | 
						|
    func voteApplicant(applicantId: Int) -> AnyPublisher<Response, MoyaError> {
 | 
						|
        return api.requestPublisher(.voteApplicant(applicantId: applicantId))
 | 
						|
    }
 | 
						|
}
 |