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.
74 lines
3.1 KiB
Swift
74 lines
3.1 KiB
Swift
//
|
|
// SyncView.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct SyncView: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Actor is the identity a reconcile writes AS. It is the loop guard: a change this identity made is one we already have, so it is not synced back. */
|
|
public var actor: String?
|
|
/** CreatedAt is when the link was first declared, RFC3339 in UTC. */
|
|
public var createdAt: String?
|
|
/** Direction is which way work flows: \"both\", \"pull\" (target ← source), \"push\" (source → target), or \"off\" — which keeps the link declared and moves nothing. */
|
|
public var direction: String?
|
|
/** ID is the link's handle, derived from its source and target — which is what makes re-declaring the same pair an update rather than a duplicate. */
|
|
public var id: String?
|
|
/** Kind is what is being synced. \"git\" today; the field exists so a storage or database link is a value here rather than a second route family. */
|
|
public var kind: String?
|
|
/** Source is the side read FROM on a pull. */
|
|
public var source: EndpointView?
|
|
/** Target is the side written TO on a push. */
|
|
public var target: EndpointView?
|
|
/** Trigger is what starts a reconcile: \"webhook\" (the provider tells us), \"poll\" (we ask on a schedule), or \"manual\" (only an explicit call). */
|
|
public var trigger: String?
|
|
/** UpdatedAt is bumped by every reconcile, so it reads as the LAST-SYNCED time rather than the last edit. Absent until the first one runs. */
|
|
public var updatedAt: String?
|
|
|
|
public init(actor: String? = nil, createdAt: String? = nil, direction: String? = nil, id: String? = nil, kind: String? = nil, source: EndpointView? = nil, target: EndpointView? = nil, trigger: String? = nil, updatedAt: String? = nil) {
|
|
self.actor = actor
|
|
self.createdAt = createdAt
|
|
self.direction = direction
|
|
self.id = id
|
|
self.kind = kind
|
|
self.source = source
|
|
self.target = target
|
|
self.trigger = trigger
|
|
self.updatedAt = updatedAt
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case actor
|
|
case createdAt
|
|
case direction
|
|
case id
|
|
case kind
|
|
case source
|
|
case target
|
|
case trigger
|
|
case updatedAt
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(actor, forKey: .actor)
|
|
try container.encodeIfPresent(createdAt, forKey: .createdAt)
|
|
try container.encodeIfPresent(direction, forKey: .direction)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(kind, forKey: .kind)
|
|
try container.encodeIfPresent(source, forKey: .source)
|
|
try container.encodeIfPresent(target, forKey: .target)
|
|
try container.encodeIfPresent(trigger, forKey: .trigger)
|
|
try container.encodeIfPresent(updatedAt, forKey: .updatedAt)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension SyncView: Identifiable {}
|