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

import Foundation
import Get
import URLQueryEncoder

extension Paths.Marketplace.Projects {
    public func projectId(_ projectId: String) -> WithProjectId {
        WithProjectId(path: "\(path)/\(projectId)")
    }

    public struct WithProjectId {
        /// Path: `/api/marketplace/projects/{project_id}`
        public let path: String

        /// Get Project
        ///
        /// Get a specific project
        public var get: Request<GenAPI.ProjectResponse> {
            Request(path: path, method: "GET", id: "studio_api_marketplace_api_get_project")
        }

        /// Update Project
        ///
        /// Update a project (title and description can be updated at any status)
        public func put(_ body: GenAPI.ProjectUpdateRequest) -> Request<GenAPI.ProjectResponse> {
            Request(path: path, method: "PUT", body: body, id: "studio_api_marketplace_api_update_project")
        }

        /// Delete Project
        ///
        /// Delete a project (only in DRAFT status)
        public var delete: Request<Void> {
            Request(path: path, method: "DELETE", id: "studio_api_marketplace_api_delete_project")
        }
    }
}
