feat(chat-original): ChatTabView 작품별 탭 및 리스트 UI/API 연동 추가

This commit is contained in:
Yu Sung
2025-09-15 22:42:36 +09:00
parent ed3f3f796a
commit 6a7a407a09
7 changed files with 375 additions and 1 deletions

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