mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The lock sat at 574d1f1d while the product moved on. The team surface stopped at rooms — no messages path, no way to open one — so anything built on this client had to reach past it with its own HTTP calls, which is the duplication a generated client exists to prevent.
86 lines
3.0 KiB
Swift
86 lines
3.0 KiB
Swift
//
|
|
// GenerateInput.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct GenerateInput: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** the brief/goal driving copy generation */
|
|
public var brief: String?
|
|
/** target channels (SocialPost) */
|
|
public var channels: String?
|
|
/** studio design slug (asset source) */
|
|
public var design: String?
|
|
/** marketing.Campaign | marketing.SocialPost | marketing.Asset */
|
|
public var doctype: String?
|
|
/** asset kind: ecom|product|lifestyle|hover|hero */
|
|
public var kind: String?
|
|
/** optional zen model override (copy) */
|
|
public var model: String?
|
|
/** commerce product handle (copy context) */
|
|
public var product: String?
|
|
/** brand/site sub-scope (billing + tenancy axis) */
|
|
public var project: String?
|
|
/** asset source image (design CAD/photo) */
|
|
public var sourceMedia: String?
|
|
/** optional explicit title */
|
|
public var title: String?
|
|
/** tone override for a single draft */
|
|
public var tone: String?
|
|
/** brand-voice guidance for the copy director */
|
|
public var voice: String?
|
|
|
|
public init(brief: String? = nil, channels: String? = nil, design: String? = nil, doctype: String? = nil, kind: String? = nil, model: String? = nil, product: String? = nil, project: String? = nil, sourceMedia: String? = nil, title: String? = nil, tone: String? = nil, voice: String? = nil) {
|
|
self.brief = brief
|
|
self.channels = channels
|
|
self.design = design
|
|
self.doctype = doctype
|
|
self.kind = kind
|
|
self.model = model
|
|
self.product = product
|
|
self.project = project
|
|
self.sourceMedia = sourceMedia
|
|
self.title = title
|
|
self.tone = tone
|
|
self.voice = voice
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case brief
|
|
case channels
|
|
case design
|
|
case doctype
|
|
case kind
|
|
case model
|
|
case product
|
|
case project
|
|
case sourceMedia = "source_media"
|
|
case title
|
|
case tone
|
|
case voice
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(brief, forKey: .brief)
|
|
try container.encodeIfPresent(channels, forKey: .channels)
|
|
try container.encodeIfPresent(design, forKey: .design)
|
|
try container.encodeIfPresent(doctype, forKey: .doctype)
|
|
try container.encodeIfPresent(kind, forKey: .kind)
|
|
try container.encodeIfPresent(model, forKey: .model)
|
|
try container.encodeIfPresent(product, forKey: .product)
|
|
try container.encodeIfPresent(project, forKey: .project)
|
|
try container.encodeIfPresent(sourceMedia, forKey: .sourceMedia)
|
|
try container.encodeIfPresent(title, forKey: .title)
|
|
try container.encodeIfPresent(tone, forKey: .tone)
|
|
try container.encodeIfPresent(voice, forKey: .voice)
|
|
}
|
|
}
|
|
|