Files
zeekay 0c2f028a8c Generate the Swift client, which this copy did not carry
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.
2026-08-23 10:04:41 -07:00

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)
}
}