// // ContentMainTabFreeRepository.swift // SodaLive // // Created by klaus on 2/22/25. // import Foundation import CombineMoya import Combine import Moya final class ContentMainTabFreeRepository { private let api = MoyaProvider() func getContentMainFree() -> AnyPublisher { return api.requestPublisher( .getContentMainFree( isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL ) ) } func getIntroduceCreatorList(page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .getIntroduceCreatorList( isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } func getNewContentOfTheme(theme: String, page: Int = 1, size: Int = 20) -> AnyPublisher { return api.requestPublisher( .getNewFreeContentOfTheme( theme: theme, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } func getPopularContentByCreator(creatorId: Int) -> AnyPublisher { return api.requestPublisher( .getPopularFreeContentByCreator( creatorId: creatorId, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL ) ) } }