mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The forge tree held the package scaffolding and none of the generated sources — 2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply absent, so anything depending on this copy had a package that compiled to nothing usable. Generated from the current API document rather than reconciled with the other copy: a client is a function of the spec, so regenerating answers "which history wins" without anyone having to choose. .spec-lock records which document, so the next reader can tell.
56 lines
2.5 KiB
Swift
56 lines
2.5 KiB
Swift
//
|
|
// TransitionResult.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct TransitionResult: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Distribution is the channel fan-out this move triggered. Present ONLY on the move to published, the single edge that distributes — so its absence means no fan-out was attempted, never that one failed quietly. A fan-out that DID fail is present carrying its own honest status, because distribution never rolls the status change back. */
|
|
public var distribution: PublishResult?
|
|
/** DocType is the content type that moved — Campaign, SocialPost or Asset — echoed from the path. */
|
|
public var doctype: String?
|
|
/** From is the state the item held when it was read. A document carrying no status yet reads as \"draft\". */
|
|
public var from: String?
|
|
/** Name is the document that moved, echoed from the path. */
|
|
public var name: String?
|
|
/** Storefront is the catalog side effect, present only when a published Asset was product imagery — it carries a design and a kind of ecom, product or lifestyle. Absent for everything else, so absence reads as \"not catalog imagery\" rather than \"the catalog failed\". */
|
|
public var storefront: StorefrontResult?
|
|
/** To is the state it holds now. From == To on an idempotent re-transition, which is legal and is where a caller that lost a publish race lands. */
|
|
public var to: String?
|
|
|
|
public init(distribution: PublishResult? = nil, doctype: String? = nil, from: String? = nil, name: String? = nil, storefront: StorefrontResult? = nil, to: String? = nil) {
|
|
self.distribution = distribution
|
|
self.doctype = doctype
|
|
self.from = from
|
|
self.name = name
|
|
self.storefront = storefront
|
|
self.to = to
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case distribution
|
|
case doctype
|
|
case from
|
|
case name
|
|
case storefront
|
|
case to
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(distribution, forKey: .distribution)
|
|
try container.encodeIfPresent(doctype, forKey: .doctype)
|
|
try container.encodeIfPresent(from, forKey: .from)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(storefront, forKey: .storefront)
|
|
try container.encodeIfPresent(to, forKey: .to)
|
|
}
|
|
}
|
|
|