Files
zeekay 1df3ddf6bd Regenerate against the document the deployment answers for
The projection these were generated from predated the compute migration, so
they described /v1/visor — which the API serves at zero paths now.

No /v1/visor path survives here.
2026-09-05 18:55:38 -07:00

96 lines
3.8 KiB
Swift

//
// StarterKit.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct StarterKit: Sendable, Codable, ParameterConvertible, Hashable {
/** groups the kit in the gallery browser (\"Portfolio\", \"SaaS\") */
public var category: String?
/** live demo (<slug>.hanzo.app), when deployed */
public var demo: String?
/** the browse-card blurb */
public var description: String?
/** the highlights the card lists, at most 32 */
public var features: [String]?
/** the stack the kit is built on (\"Next.js 14.2 + TS\") */
public var framework: String?
/** owner of a PRIVATE template; empty in the public catalog */
public var org: String?
/** the still image the browse card renders */
public var preview: String?
/** Rating is public-gallery curation, on the same terms as Tier: catalog-only, never accepted from a request, absent on a customer's own kit. */
public var rating: Double?
/** the kit's identity — lowercase alphanumeric with dashes, max 40 */
public var slug: String?
/** the repository the kit is forked from */
public var source: String?
/** Tier is public-gallery curation, carried verbatim from the embedded catalog. No request can set it — neither write body has the field and neither builds a kit carrying one — so it is absent on every customer-published kit. */
public var tier: Int64?
/** display name */
public var title: String?
/** what the kit is for, in a phrase */
public var useCase: String?
/** the shapes this template ships in */
public var variants: [Variant]?
public init(category: String? = nil, demo: String? = nil, description: String? = nil, features: [String]? = nil, framework: String? = nil, org: String? = nil, preview: String? = nil, rating: Double? = nil, slug: String? = nil, source: String? = nil, tier: Int64? = nil, title: String? = nil, useCase: String? = nil, variants: [Variant]? = nil) {
self.category = category
self.demo = demo
self.description = description
self.features = features
self.framework = framework
self.org = org
self.preview = preview
self.rating = rating
self.slug = slug
self.source = source
self.tier = tier
self.title = title
self.useCase = useCase
self.variants = variants
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case category
case demo
case description
case features
case framework
case org
case preview
case rating
case slug
case source
case tier
case title
case useCase
case variants
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(category, forKey: .category)
try container.encodeIfPresent(demo, forKey: .demo)
try container.encodeIfPresent(description, forKey: .description)
try container.encodeIfPresent(features, forKey: .features)
try container.encodeIfPresent(framework, forKey: .framework)
try container.encodeIfPresent(org, forKey: .org)
try container.encodeIfPresent(preview, forKey: .preview)
try container.encodeIfPresent(rating, forKey: .rating)
try container.encodeIfPresent(slug, forKey: .slug)
try container.encodeIfPresent(source, forKey: .source)
try container.encodeIfPresent(tier, forKey: .tier)
try container.encodeIfPresent(title, forKey: .title)
try container.encodeIfPresent(useCase, forKey: .useCase)
try container.encodeIfPresent(variants, forKey: .variants)
}
}