Files
sodalive-ios/SodaLive/Sources/Content/Series/SeriesRepository.swift

48 lines
1.4 KiB
Swift

//
// SeriesRepository.swift
// SodaLive
//
// Created by klaus on 4/29/24.
//
import Foundation
import CombineMoya
import Combine
import Moya
class SeriesRepository {
private let api = MoyaProvider<SeriesApi>()
func getSeriesList(creatorId: Int?, isOriginal: Bool, isCompleted: Bool, sortType: SeriesListAllViewModel.SeriesSortType, page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(
.getSeriesList(
creatorId: creatorId,
isOriginal: isOriginal,
isCompleted: isCompleted,
sortType: sortType,
page: page,
size: size
)
)
}
func getSeriesDetail(seriesId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.getSeriesDetail(seriesId: seriesId))
}
func getSeriesContentList(seriesId: Int, page: Int, size: Int, sortType: SeriesListAllViewModel.SeriesSortType) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(
.getSeriesContentList(
seriesId: seriesId,
page: page,
size: size,
sortType: sortType
)
)
}
func getRecommendSeriesList() -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.getRecommendSeriesList)
}
}