// // SeriesRepository.swift // SodaLive // // Created by klaus on 4/29/24. // import Foundation import CombineMoya import Combine import Moya class SeriesRepository { private let api = MoyaProvider() func getSeriesList(creatorId: Int, sortType: SeriesListAllViewModel.SeriesSortType, page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .getSeriesList( creatorId: creatorId, sortType: sortType, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } func getSeriesDetail(seriesId: Int) -> AnyPublisher { return api.requestPublisher( .getSeriesDetail( seriesId: seriesId, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL ) ) } func getSeriesContentList(seriesId: Int, page: Int, size: Int, sortType: SeriesListAllViewModel.SeriesSortType) -> AnyPublisher { return api.requestPublisher( .getSeriesContentList( seriesId: seriesId, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size, sortType: sortType ) ) } func getRecommendSeriesList() -> AnyPublisher { return api.requestPublisher( .getRecommendSeriesList( isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL ) ) } }