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

74 lines
3.1 KiB
Swift

//
// ProjectsComplete.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct ProjectsComplete: Sendable, Codable, ParameterConvertible, Hashable {
/** Bytes is their total size in bytes. */
public var bytes: Int64?
/** Commit is the revision that was built, recorded on the deployment. */
public var commit: String?
/** Files is how many objects CI published. */
public var files: Int64?
/** ID is the queued deployment to complete, from the path. */
public var id: String?
/** Keys is the manifest CI just uploaded, RELATIVE to the deployment prefix. It is what replaces `aws s3 sync --delete`: an upload grant authorizes writes only, so CI cannot remove a file, and cloud reconciles the prefix against this list instead (grant.go). Omit it and nothing is deleted — the prefix only grows, which is the old pre-grant behaviour and a safe default. */
public var keys: [String]?
/** LiveURL is a HINT at the address the site should serve at. The public host is claimed by cloud first, so this can refine the URL a deployment reports but can never assert a subdomain another tenant holds. */
public var liveUrl: String?
/** Message is what happened, in words — on an error completion, why it failed. */
public var message: String?
/** Slug is the project the deployment belongs to, from the path. */
public var slug: String?
/** Status is how the build ended: `live` if it succeeded, `error` if it did not. Nothing else is accepted. */
public var status: String?
public init(bytes: Int64? = nil, commit: String? = nil, files: Int64? = nil, id: String? = nil, keys: [String]? = nil, liveUrl: String? = nil, message: String? = nil, slug: String? = nil, status: String? = nil) {
self.bytes = bytes
self.commit = commit
self.files = files
self.id = id
self.keys = keys
self.liveUrl = liveUrl
self.message = message
self.slug = slug
self.status = status
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case bytes
case commit
case files
case id
case keys
case liveUrl
case message
case slug
case status
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(bytes, forKey: .bytes)
try container.encodeIfPresent(commit, forKey: .commit)
try container.encodeIfPresent(files, forKey: .files)
try container.encodeIfPresent(id, forKey: .id)
try container.encodeIfPresent(keys, forKey: .keys)
try container.encodeIfPresent(liveUrl, forKey: .liveUrl)
try container.encodeIfPresent(message, forKey: .message)
try container.encodeIfPresent(slug, forKey: .slug)
try container.encodeIfPresent(status, forKey: .status)
}
}
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
extension ProjectsComplete: Identifiable {}