Files
zeekay 1df3ddf6bd Regenerate against the document the deployment answers for
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.
2026-09-05 18:55:38 -07:00

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