Files
swift-sdk/Sources/Hanzo/Models/GitlabProjectView.swift
zeekay 0c2f028a8c Generate the Swift client, which this copy did not carry
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.
2026-08-23 10:04:41 -07:00

66 lines
2.6 KiB
Swift

//
// GitlabProjectView.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct GitlabProjectView: Sendable, Codable, ParameterConvertible, Hashable {
/** CloneURL is the https remote to clone. */
public var cloneUrl: String?
/** DefaultBranch is the branch a clone lands on (\"main\" when GitLab names none, which is what an empty project reports). */
public var defaultBranch: String?
/** Description is the project's own, empty when it has none. */
public var description: String?
/** FullName is the namespace path (\"acme/widgets\", \"acme/team/widgets\" for a subgroup) — the string GitLab calls path_with_namespace. */
public var fullName: String?
/** HTMLURL is the project's page. */
public var htmlUrl: String?
/** Name is the project's path segment (\"widgets\"), not its display name. */
public var name: String?
/** Private is true for anything not publicly visible (private or internal). */
public var _private: Bool?
/** PushedAt is RFC3339 last activity, so a client can sort or say \"2h ago\". */
public var pushedAt: String?
public init(cloneUrl: String? = nil, defaultBranch: String? = nil, description: String? = nil, fullName: String? = nil, htmlUrl: String? = nil, name: String? = nil, _private: Bool? = nil, pushedAt: String? = nil) {
self.cloneUrl = cloneUrl
self.defaultBranch = defaultBranch
self.description = description
self.fullName = fullName
self.htmlUrl = htmlUrl
self.name = name
self._private = _private
self.pushedAt = pushedAt
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case cloneUrl
case defaultBranch
case description
case fullName
case htmlUrl
case name
case _private = "private"
case pushedAt
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(cloneUrl, forKey: .cloneUrl)
try container.encodeIfPresent(defaultBranch, forKey: .defaultBranch)
try container.encodeIfPresent(description, forKey: .description)
try container.encodeIfPresent(fullName, forKey: .fullName)
try container.encodeIfPresent(htmlUrl, forKey: .htmlUrl)
try container.encodeIfPresent(name, forKey: .name)
try container.encodeIfPresent(_private, forKey: ._private)
try container.encodeIfPresent(pushedAt, forKey: .pushedAt)
}
}