// // EventApi.swift // SodaLive // // Created by klaus on 2023/08/09. // import Foundation import Moya enum EventApi { case getEvents case getEventPopup case getEventDetail(id: Int) } extension EventApi: TargetType { var baseURL: URL { return URL(string: BASE_URL)! } var path: String { switch self { case .getEvents: return "/event" case .getEventPopup: return "/event/popup" case .getEventDetail(let id): return "/api/v2/events/\(id)" } } var method: Moya.Method { switch self { case .getEvents, .getEventPopup, .getEventDetail: return .get } } var task: Task { switch self { case .getEvents, .getEventPopup, .getEventDetail: return .requestPlain } } var headers: [String : String]? { if case .getEventDetail = self, UserDefaults.string(forKey: .token).isEmpty { return nil } return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"] } }