// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation
import Get
import URLQueryEncoder

extension Paths.Contests.TopKContestClips.WithContestId {
    public func k(_ k: Int) -> WithK {
        WithK(path: "\(path)/\(k)")
    }

    public struct WithK {
        /// Path: `/api/contests/top_k_contest_clips/{contest_id}/{k}`
        public let path: String

        /// Get Top K Contest Clips
        public func get(sortBy: String? = nil, needHydration: Bool? = nil) -> Request<[GenAPI.ContestClipResponse]> {
            Request(path: path, method: "GET", query: makeGetQuery(sortBy, needHydration), id: "studio_api_contests_api_get_top_k_contest_clips")
        }

        private func makeGetQuery(_ sortBy: String?, _ needHydration: Bool?) -> [(String, String?)] {
            let encoder = URLQueryEncoder()
            encoder.encode(sortBy, forKey: "sort_by")
            encoder.encode(needHydration, forKey: "need_hydration")
            return encoder.items
        }
    }
}
