feat(creator): 채널 홈 기본 화면을 연결한다

This commit is contained in:
Yu Sung
2026-07-01 20:14:08 +09:00
parent 033a9d3a0b
commit 29f7f3c26c
10 changed files with 638 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
import Foundation
import Moya
enum CreatorChannelHomeApi {
case getHome(creatorId: Int)
}
extension CreatorChannelHomeApi: TargetType {
var baseURL: URL {
return URL(string: BASE_URL)!
}
var path: String {
switch self {
case .getHome(let creatorId):
return "/api/v2/creator-channels/\(creatorId)/home"
}
}
var method: Moya.Method {
switch self {
case .getHome:
return .get
}
}
var task: Moya.Task {
switch self {
case .getHome:
return .requestPlain
}
}
var headers: [String: String]? {
return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
}
}

View File

@@ -0,0 +1,13 @@
import Foundation
import Combine
import CombineMoya
import Moya
final class CreatorChannelHomeRepository {
private let api = MoyaProvider<CreatorChannelHomeApi>()
func getHome(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.getHome(creatorId: creatorId))
}
}