// // SearchRepository.swift // SodaLive // // Created by klaus on 3/27/25. // import Foundation import CombineMoya import Combine import Moya final class SearchRepository { private let api = MoyaProvider() func searchUnified(keyword: String) -> AnyPublisher { return api.requestPublisher( .searchUnified( keyword: keyword, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL ) ) } func searchCreatorList(keyword: String, page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .searchCreatorList( keyword: keyword, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } func searchContentList(keyword: String, page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .searchContentList( keyword: keyword, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } func searchSeriesList(keyword: String, page: Int, size: Int) -> AnyPublisher { return api.requestPublisher( .searchSeriesList( keyword: keyword, isAdultContentVisible: UserDefaults.isAdultContentVisible(), contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, page: page, size: size ) ) } }