// // UserRepository.swift // SodaLive // // Created by klaus on 2023/08/09. // import Foundation import CombineMoya import Combine import Moya final class UserRepository { private let api = MoyaProvider() func login(request: LoginRequest) -> AnyPublisher { return api.requestPublisher(.login(request: request)) } func signUp(parameters: [MultipartFormData]) -> AnyPublisher { return api.requestPublisher(.signUp(parameters: parameters)) } func findPassword(email: String) -> AnyPublisher { return api.requestPublisher(.findPassword(request: ForgotPasswordRequest(email: email))) } func searchUser(nickname: String) -> AnyPublisher { return api.requestPublisher(.searchUser(nickname: nickname)) } func getMypage() -> AnyPublisher { return api.requestPublisher(.getMypage) } func getMemberInfo() -> AnyPublisher { return api.requestPublisher(.getMemberInfo) } func updateNotificationSettings(live: Bool? = nil, uploadContent: Bool? = nil, message: Bool? = nil) -> AnyPublisher { return api.requestPublisher( .notification( request: UpdateNotificationSettingRequest( live: live, uploadContent: uploadContent, message: message ) ) ) } func logout() -> AnyPublisher { return api.requestPublisher(.logout) } func logoutAllDevice() -> AnyPublisher { return api.requestPublisher(.logoutAllDevice) } }