feat(chat-original): ChatTabView 작품별 탭 및 리스트 UI/API 연동 추가
This commit is contained in:
59
SodaLive/Sources/Chat/Original/OriginalWorkApi.swift
Normal file
59
SodaLive/Sources/Chat/Original/OriginalWorkApi.swift
Normal file
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// OriginalWorkApi.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 9/15/25.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Moya
|
||||
|
||||
enum OriginalWorkApi {
|
||||
case getOriginalWorks(page: Int, size: Int)
|
||||
case getOriginalDetail(id: Int)
|
||||
case getOriginalWorkCharacters(id: Int, page: Int, size: Int)
|
||||
}
|
||||
|
||||
extension OriginalWorkApi: TargetType {
|
||||
var baseURL: URL { URL(string: BASE_URL)! }
|
||||
|
||||
var path: String {
|
||||
switch self {
|
||||
case .getOriginalWorks:
|
||||
return "/api/chat/original/list"
|
||||
|
||||
case .getOriginalDetail(let id):
|
||||
return "/api/chat/original/\(id)"
|
||||
|
||||
case .getOriginalWorkCharacters(let id, _, _):
|
||||
return "/api/chat/original/\(id)/characters"
|
||||
}
|
||||
}
|
||||
|
||||
var method: Moya.Method {
|
||||
return .get
|
||||
}
|
||||
|
||||
var task: Moya.Task {
|
||||
switch self {
|
||||
case .getOriginalWorks(let page, let size):
|
||||
return .requestParameters(
|
||||
parameters: ["page": page, "size": size],
|
||||
encoding: URLEncoding.queryString
|
||||
)
|
||||
|
||||
case .getOriginalDetail:
|
||||
return .requestPlain
|
||||
|
||||
case .getOriginalWorkCharacters(_, let page, let size):
|
||||
return .requestParameters(
|
||||
parameters: ["page": page, "size": size],
|
||||
encoding: URLEncoding.queryString
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
var headers: [String : String]? {
|
||||
["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user