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

41 lines
1.6 KiB
Swift

//
// TicketGrant.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct TicketGrant: Sendable, Codable, ParameterConvertible, Hashable {
/** ExpiresIn is how long the ticket is good for, in seconds. */
public var expiresIn: Int64?
/** Ticket is the grant itself. It is single-purpose and short-lived, and it travels in a query string because a WebSocket handshake carries no Authorization header a browser can set. */
public var ticket: String?
/** URL is the PATH to open, ticket included — not an absolute URL. Which host this address wears in public is the edge's answer and not this process's, so an absolute URL would be a guess; the client already knows the host it is talking to. It names the PAGE, which is what a caller embeds — the page finds its own socket, and a caller that wants the raw socket adds `/ws`. */
public var url: String?
public init(expiresIn: Int64? = nil, ticket: String? = nil, url: String? = nil) {
self.expiresIn = expiresIn
self.ticket = ticket
self.url = url
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case expiresIn
case ticket
case url
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(expiresIn, forKey: .expiresIn)
try container.encodeIfPresent(ticket, forKey: .ticket)
try container.encodeIfPresent(url, forKey: .url)
}
}