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

import Foundation
import Get
import URLQueryEncoder

extension Paths.Contests.Contest {
    public func contestId(_ contestId: String) -> WithContestId {
        WithContestId(path: "\(path)/\(contestId)")
    }

    public struct WithContestId {
        /// Path: `/api/contests/contest/{contest_id}`
        public let path: String

        /// Get Contest
        public var get: Request<GenAPI.ContestSchema> {
            Request(path: path, method: "GET", id: "studio_api_contests_api_get_contest")
        }

        /// Update Contest
        ///
        /// Update an existing contest's core details.
        /// Staff only endpoint.
        /// Note: Use dedicated endpoints for base_clips and master_clip management.
        public func put(_ body: GenAPI.UpdateContestSpec) -> Request<GenAPI.ContestSchema> {
            Request(path: path, method: "PUT", body: body, id: "studio_api_contests_api_update_contest")
        }

        /// Remove Contest
        public var delete: Request<Void> {
            Request(path: path, method: "DELETE", id: "studio_api_contests_api_remove_contest")
        }
    }
}
