import Foundation

struct VideoCatalogResponse: Decodable {
    let videos: [TrainingVideoSummary]
}

enum VideoCatalogAPI {
    static func fetch() async throws -> (videos: [TrainingVideoSummary], baseURL: String) {
        let result = try await HTTPClient.getJSON(
            VideoCatalogResponse.self,
            baseURL: AppConfig.serverBaseURL,
            path: "api/v1/videos",
            timeout: AppConfig.readTimeout
        )
        let ready = result.value.videos.filter { $0.status == "ready" }
        return (ready, result.effectiveBaseURL)
    }
}
