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.
81 lines
3.9 KiB
Swift
81 lines
3.9 KiB
Swift
//
|
|
// IssueHit.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct IssueHit: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Assignee is who holds the work. EMPTY MEANS UNHELD, which is what makes the issue claimable: claiming one already held by someone else is refused with 409 rather than quietly taken. */
|
|
public var assignee: String?
|
|
/** Kind is what the row IS: issue, pr or epic. */
|
|
public var kind: String?
|
|
/** Number is the issue's number on that board, from 1 and monotonic there. Unique per board, never across the org — so it addresses an issue only together with Project. */
|
|
public var number: Int64?
|
|
/** Priority is urgent, high, medium, low or none. Never empty — an unset priority is the value \"none\". */
|
|
public var priority: String?
|
|
/** Project is the board key the issue is on. It and Number are the issue's address in every other route on this surface, which is why a hit carries it. */
|
|
public var project: String?
|
|
/** Repo is the git repository the issue is bound to, empty when it is not repo-bound. */
|
|
public var repo: String?
|
|
/** Room is the collaboration room the issue belongs to, spelled \"<space>_<room>\" — empty when it is not room-bound, which is most of them. It is here so an org-wide search says which channel each item came from without a second read. */
|
|
public var room: String?
|
|
/** Source is which surface opened it: team, git, crm, helpdesk, cms or agent. \"git\" is how the mirrored forge and GitHub rows are spelled. */
|
|
public var source: String?
|
|
/** Status is the board column: backlog, todo, in_progress, done or canceled. Claiming moves backlog and todo to in_progress and leaves the other three where they are. */
|
|
public var status: String?
|
|
/** Title is the issue's one-line summary — what the q filter matched, along with the description. */
|
|
public var title: String?
|
|
/** URL is the row's external anchor — its extRef — which is a link only when the feeder sent one. A mirrored GitHub issue carries \"github:owner/repo#123\" and an agent's PR row carries the pushed branch. Empty for a row opened here. */
|
|
public var url: String?
|
|
|
|
public init(assignee: String? = nil, kind: String? = nil, number: Int64? = nil, priority: String? = nil, project: String? = nil, repo: String? = nil, room: String? = nil, source: String? = nil, status: String? = nil, title: String? = nil, url: String? = nil) {
|
|
self.assignee = assignee
|
|
self.kind = kind
|
|
self.number = number
|
|
self.priority = priority
|
|
self.project = project
|
|
self.repo = repo
|
|
self.room = room
|
|
self.source = source
|
|
self.status = status
|
|
self.title = title
|
|
self.url = url
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case assignee
|
|
case kind
|
|
case number
|
|
case priority
|
|
case project
|
|
case repo
|
|
case room
|
|
case source
|
|
case status
|
|
case title
|
|
case url
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(assignee, forKey: .assignee)
|
|
try container.encodeIfPresent(kind, forKey: .kind)
|
|
try container.encodeIfPresent(number, forKey: .number)
|
|
try container.encodeIfPresent(priority, forKey: .priority)
|
|
try container.encodeIfPresent(project, forKey: .project)
|
|
try container.encodeIfPresent(repo, forKey: .repo)
|
|
try container.encodeIfPresent(room, forKey: .room)
|
|
try container.encodeIfPresent(source, forKey: .source)
|
|
try container.encodeIfPresent(status, forKey: .status)
|
|
try container.encodeIfPresent(title, forKey: .title)
|
|
try container.encodeIfPresent(url, forKey: .url)
|
|
}
|
|
}
|
|
|