mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
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.
71 lines
3.0 KiB
Swift
71 lines
3.0 KiB
Swift
//
|
|
// DeliveryRow.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct DeliveryRow: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Attempt is which try this row is, starting at 1. The ladder waits 1s, then 5s, then 25s before the next one. */
|
|
public var attempt: Int64?
|
|
/** Created is when the attempt was made, RFC3339 in UTC. */
|
|
public var created: String?
|
|
/** DeliveryID groups the attempts for ONE event to ONE endpoint. Rows sharing it are the same delivery being retried, not separate events. */
|
|
public var delivery: String?
|
|
/** DurationMs is how long this attempt took end to end, in MILLISECONDS. */
|
|
public var durationMs: Int64?
|
|
/** EndpointID is which subscriber this attempt was for. */
|
|
public var endpoint: String?
|
|
/** Error says what went wrong on a non-ok attempt. Empty on success. */
|
|
public var error: String?
|
|
/** HTTPStatus is what the subscriber answered. ZERO means it never answered — a refused connection, a DNS failure or a timeout — which is why a zero here is not a 200. */
|
|
public var httpStatus: Int64?
|
|
/** Status is \"ok\" when the subscriber accepted it, \"retrying\" while a further attempt will follow, and \"failed\" when none will. Exactly one row of a delivery is terminal. */
|
|
public var status: String?
|
|
/** Subject is the event that was delivered (\"commerce.order.created\"). A manual test send carries \"webhook.test\". */
|
|
public var subject: String?
|
|
|
|
public init(attempt: Int64? = nil, created: String? = nil, delivery: String? = nil, durationMs: Int64? = nil, endpoint: String? = nil, error: String? = nil, httpStatus: Int64? = nil, status: String? = nil, subject: String? = nil) {
|
|
self.attempt = attempt
|
|
self.created = created
|
|
self.delivery = delivery
|
|
self.durationMs = durationMs
|
|
self.endpoint = endpoint
|
|
self.error = error
|
|
self.httpStatus = httpStatus
|
|
self.status = status
|
|
self.subject = subject
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case attempt
|
|
case created
|
|
case delivery
|
|
case durationMs
|
|
case endpoint
|
|
case error
|
|
case httpStatus
|
|
case status
|
|
case subject
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(attempt, forKey: .attempt)
|
|
try container.encodeIfPresent(created, forKey: .created)
|
|
try container.encodeIfPresent(delivery, forKey: .delivery)
|
|
try container.encodeIfPresent(durationMs, forKey: .durationMs)
|
|
try container.encodeIfPresent(endpoint, forKey: .endpoint)
|
|
try container.encodeIfPresent(error, forKey: .error)
|
|
try container.encodeIfPresent(httpStatus, forKey: .httpStatus)
|
|
try container.encodeIfPresent(status, forKey: .status)
|
|
try container.encodeIfPresent(subject, forKey: .subject)
|
|
}
|
|
}
|
|
|