Files
sodalive-ios/SodaLive/Sources/Settings/Event/EventApi.swift
T

56 lines
1.1 KiB
Swift

//
// 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))"]
}
}