// // UserApi.swift // SodaLive // // Created by klaus on 2023/08/09. // import Foundation import Moya enum UserApi { case login(request: LoginRequest) case signUp(parameters: [MultipartFormData]) } extension UserApi: TargetType { var baseURL: URL { return URL(string: BASE_URL)! } var path: String { switch self { case .login: return "/member/login" case .signUp: return "/member/signup" } } var method: Moya.Method { switch self { case .login, .signUp: return .post } } var task: Task { switch self { case .login(let request): return .requestJSONEncodable(request) case .signUp(let parameters): return .uploadMultipart(parameters) } } var headers: [String : String]? { switch self { case .login, .signUp: return nil default: return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"] } } }