From 38a0c19dff60c9309ed46b5be99056311a055b77 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 21:08:57 +0000 Subject: [PATCH 1/4] Bump Submodule/github/rest-api-description from `f0dc156` to `b27d92b` Bumps [Submodule/github/rest-api-description](https://github.com/github/rest-api-description) from `f0dc156` to `b27d92b`. - [Release notes](https://github.com/github/rest-api-description/releases) - [Commits](https://github.com/github/rest-api-description/compare/f0dc156505ef3ea9ae0fd2f227aca5642c465e4f...b27d92b4094f9c4c6c60680325830982f04e5449) --- updated-dependencies: - dependency-name: Submodule/github/rest-api-description dependency-version: b27d92b4094f9c4c6c60680325830982f04e5449 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Submodule/github/rest-api-description | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Submodule/github/rest-api-description b/Submodule/github/rest-api-description index f0dc156505..b27d92b409 160000 --- a/Submodule/github/rest-api-description +++ b/Submodule/github/rest-api-description @@ -1 +1 @@ -Subproject commit f0dc156505ef3ea9ae0fd2f227aca5642c465e4f +Subproject commit b27d92b4094f9c4c6c60680325830982f04e5449 From 5a29d18a3c2342c9c2bb534c55532ec1e92f5d17 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Mon, 15 Sep 2025 21:42:59 +0000 Subject: [PATCH 2/4] Commit via running: make Sources/pulls --- Sources/pulls/Types.swift | 1568 ++++++++++++++++++------------------- 1 file changed, 784 insertions(+), 784 deletions(-) diff --git a/Sources/pulls/Types.swift b/Sources/pulls/Types.swift index dcfdba5b3b..1a700472b7 100644 --- a/Sources/pulls/Types.swift +++ b/Sources/pulls/Types.swift @@ -2939,945 +2939,945 @@ public enum Components { case ldapDn = "ldap_dn" } } - /// Metaproperties for Git author/committer information. + /// Hypermedia Link /// - /// - Remark: Generated from `#/components/schemas/nullable-git-user`. - public struct NullableGitUser: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-git-user/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-git-user/email`. - public var email: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-git-user/date`. - public var date: Swift.String? - /// Creates a new `NullableGitUser`. - /// - /// - Parameters: - /// - name: - /// - email: - /// - date: - public init( - name: Swift.String? = nil, - email: Swift.String? = nil, - date: Swift.String? = nil - ) { - self.name = name - self.email = email - self.date = date - } - public enum CodingKeys: String, CodingKey { - case name - case email - case date - } - } - /// - Remark: Generated from `#/components/schemas/verification`. - public struct Verification: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/verification/verified`. - public var verified: Swift.Bool - /// - Remark: Generated from `#/components/schemas/verification/reason`. - public var reason: Swift.String - /// - Remark: Generated from `#/components/schemas/verification/payload`. - public var payload: Swift.String? - /// - Remark: Generated from `#/components/schemas/verification/signature`. - public var signature: Swift.String? - /// - Remark: Generated from `#/components/schemas/verification/verified_at`. - public var verifiedAt: Swift.String? - /// Creates a new `Verification`. + /// - Remark: Generated from `#/components/schemas/link`. + public struct Link: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/link/href`. + public var href: Swift.String + /// Creates a new `Link`. /// /// - Parameters: - /// - verified: - /// - reason: - /// - payload: - /// - signature: - /// - verifiedAt: - public init( - verified: Swift.Bool, - reason: Swift.String, - payload: Swift.String? = nil, - signature: Swift.String? = nil, - verifiedAt: Swift.String? = nil - ) { - self.verified = verified - self.reason = reason - self.payload = payload - self.signature = signature - self.verifiedAt = verifiedAt + /// - href: + public init(href: Swift.String) { + self.href = href } public enum CodingKeys: String, CodingKey { - case verified - case reason - case payload - case signature - case verifiedAt = "verified_at" + case href } } - /// Diff Entry + /// The status of auto merging a pull request. /// - /// - Remark: Generated from `#/components/schemas/diff-entry`. - public struct DiffEntry: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/diff-entry/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/filename`. - public var filename: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/status`. - @frozen public enum StatusPayload: String, Codable, Hashable, Sendable, CaseIterable { - case added = "added" - case removed = "removed" - case modified = "modified" - case renamed = "renamed" - case copied = "copied" - case changed = "changed" - case unchanged = "unchanged" + /// - Remark: Generated from `#/components/schemas/auto-merge`. + public struct AutoMerge: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/auto-merge/enabled_by`. + public var enabledBy: Components.Schemas.SimpleUser + /// The merge method to use. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { + case merge = "merge" + case squash = "squash" + case rebase = "rebase" } - /// - Remark: Generated from `#/components/schemas/diff-entry/status`. - public var status: Components.Schemas.DiffEntry.StatusPayload - /// - Remark: Generated from `#/components/schemas/diff-entry/additions`. - public var additions: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/deletions`. - public var deletions: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/changes`. - public var changes: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/blob_url`. - public var blobUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/raw_url`. - public var rawUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/contents_url`. - public var contentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/patch`. - public var patch: Swift.String? - /// - Remark: Generated from `#/components/schemas/diff-entry/previous_filename`. - public var previousFilename: Swift.String? - /// Creates a new `DiffEntry`. + /// The merge method to use. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + public var mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload + /// Title for the merge commit message. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_title`. + public var commitTitle: Swift.String + /// Commit message for the merge commit. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_message`. + public var commitMessage: Swift.String + /// Creates a new `AutoMerge`. /// /// - Parameters: - /// - sha: - /// - filename: - /// - status: - /// - additions: - /// - deletions: - /// - changes: - /// - blobUrl: - /// - rawUrl: - /// - contentsUrl: - /// - patch: - /// - previousFilename: + /// - enabledBy: + /// - mergeMethod: The merge method to use. + /// - commitTitle: Title for the merge commit message. + /// - commitMessage: Commit message for the merge commit. public init( - sha: Swift.String, - filename: Swift.String, - status: Components.Schemas.DiffEntry.StatusPayload, - additions: Swift.Int, - deletions: Swift.Int, - changes: Swift.Int, - blobUrl: Swift.String, - rawUrl: Swift.String, - contentsUrl: Swift.String, - patch: Swift.String? = nil, - previousFilename: Swift.String? = nil + enabledBy: Components.Schemas.SimpleUser, + mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload, + commitTitle: Swift.String, + commitMessage: Swift.String ) { - self.sha = sha - self.filename = filename - self.status = status - self.additions = additions - self.deletions = deletions - self.changes = changes - self.blobUrl = blobUrl - self.rawUrl = rawUrl - self.contentsUrl = contentsUrl - self.patch = patch - self.previousFilename = previousFilename + self.enabledBy = enabledBy + self.mergeMethod = mergeMethod + self.commitTitle = commitTitle + self.commitMessage = commitMessage } public enum CodingKeys: String, CodingKey { - case sha - case filename - case status - case additions - case deletions - case changes - case blobUrl = "blob_url" - case rawUrl = "raw_url" - case contentsUrl = "contents_url" - case patch - case previousFilename = "previous_filename" + case enabledBy = "enabled_by" + case mergeMethod = "merge_method" + case commitTitle = "commit_title" + case commitMessage = "commit_message" } } - /// Commit + /// Pull Request Simple /// - /// - Remark: Generated from `#/components/schemas/commit`. - public struct Commit: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/url`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple`. + public struct PullRequestSimple: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/node_id`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/pull-request-simple/node_id`. public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/html_url`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/html_url`. public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/comments_url`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/diff_url`. + public var diffUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/patch_url`. + public var patchUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/issue_url`. + public var issueUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comments_url`. + public var reviewCommentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comment_url`. + public var reviewCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/comments_url`. public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit`. - public struct CommitPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/commit/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/author`. - public var author: Components.Schemas.NullableGitUser? - /// - Remark: Generated from `#/components/schemas/commit/commit/committer`. - public var committer: Components.Schemas.NullableGitUser? - /// - Remark: Generated from `#/components/schemas/commit/commit/message`. - public var message: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/comment_count`. - public var commentCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. - public struct TreePayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/commit/tree/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/tree/url`. - public var url: Swift.String - /// Creates a new `TreePayload`. - /// - /// - Parameters: - /// - sha: - /// - url: - public init( - sha: Swift.String, - url: Swift.String - ) { - self.sha = sha - self.url = url - } - public enum CodingKeys: String, CodingKey { - case sha - case url - } - } - /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. - public var tree: Components.Schemas.Commit.CommitPayload.TreePayload - /// - Remark: Generated from `#/components/schemas/commit/commit/verification`. - public var verification: Components.Schemas.Verification? - /// Creates a new `CommitPayload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/number`. + public var number: Swift.Int + /// - Remark: Generated from `#/components/schemas/pull-request-simple/state`. + public var state: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/locked`. + public var locked: Swift.Bool + /// - Remark: Generated from `#/components/schemas/pull-request-simple/title`. + public var title: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/body`. + public var body: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload`. + public struct LabelsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/description`. + public var description: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/color`. + public var color: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/default`. + public var _default: Swift.Bool + /// Creates a new `LabelsPayloadPayload`. /// /// - Parameters: + /// - id: + /// - nodeId: /// - url: - /// - author: - /// - committer: - /// - message: - /// - commentCount: - /// - tree: - /// - verification: + /// - name: + /// - description: + /// - color: + /// - _default: public init( + id: Swift.Int64, + nodeId: Swift.String, url: Swift.String, - author: Components.Schemas.NullableGitUser? = nil, - committer: Components.Schemas.NullableGitUser? = nil, - message: Swift.String, - commentCount: Swift.Int, - tree: Components.Schemas.Commit.CommitPayload.TreePayload, - verification: Components.Schemas.Verification? = nil + name: Swift.String, + description: Swift.String, + color: Swift.String, + _default: Swift.Bool ) { + self.id = id + self.nodeId = nodeId self.url = url - self.author = author - self.committer = committer - self.message = message - self.commentCount = commentCount - self.tree = tree - self.verification = verification + self.name = name + self.description = description + self.color = color + self._default = _default } public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" case url - case author - case committer - case message - case commentCount = "comment_count" - case tree - case verification - } - } - /// - Remark: Generated from `#/components/schemas/commit/commit`. - public var commit: Components.Schemas.Commit.CommitPayload - /// - Remark: Generated from `#/components/schemas/commit/author`. - @frozen public enum AuthorPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/author/case1`. - case SimpleUser(Components.Schemas.SimpleUser) - /// - Remark: Generated from `#/components/schemas/commit/author/case2`. - case EmptyObject(Components.Schemas.EmptyObject) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .SimpleUser(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .EmptyObject(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) - } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .SimpleUser(value): - try value.encode(to: encoder) - case let .EmptyObject(value): - try value.encode(to: encoder) - } - } - } - /// - Remark: Generated from `#/components/schemas/commit/author`. - public var author: Components.Schemas.Commit.AuthorPayload? - /// - Remark: Generated from `#/components/schemas/commit/committer`. - @frozen public enum CommitterPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/committer/case1`. - case SimpleUser(Components.Schemas.SimpleUser) - /// - Remark: Generated from `#/components/schemas/commit/committer/case2`. - case EmptyObject(Components.Schemas.EmptyObject) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .SimpleUser(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .EmptyObject(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) - } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .SimpleUser(value): - try value.encode(to: encoder) - case let .EmptyObject(value): - try value.encode(to: encoder) - } + case name + case description + case color + case _default = "default" } } - /// - Remark: Generated from `#/components/schemas/commit/committer`. - public var committer: Components.Schemas.Commit.CommitterPayload? - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload`. - public struct ParentsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/sha`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public typealias LabelsPayload = [Components.Schemas.PullRequestSimple.LabelsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public var labels: Components.Schemas.PullRequestSimple.LabelsPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/milestone`. + public var milestone: Components.Schemas.NullableMilestone? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/active_lock_reason`. + public var activeLockReason: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/closed_at`. + public var closedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merged_at`. + public var mergedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merge_commit_sha`. + public var mergeCommitSha: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignee`. + public var assignee: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignees`. + public var assignees: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_reviewers`. + public var requestedReviewers: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_teams`. + public var requestedTeams: [Components.Schemas.Team]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public struct HeadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/sha`. public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/html_url`. - public var htmlUrl: Swift.String? - /// Creates a new `ParentsPayloadPayload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `HeadPayload`. /// /// - Parameters: + /// - label: + /// - ref: + /// - repo: /// - sha: - /// - url: - /// - htmlUrl: + /// - user: public init( + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, sha: Swift.String, - url: Swift.String, - htmlUrl: Swift.String? = nil + user: Components.Schemas.NullableSimpleUser? = nil ) { + self.label = label + self.ref = ref + self.repo = repo self.sha = sha - self.url = url - self.htmlUrl = htmlUrl + self.user = user } public enum CodingKeys: String, CodingKey { + case label + case ref + case repo case sha - case url - case htmlUrl = "html_url" + case user } } - /// - Remark: Generated from `#/components/schemas/commit/parents`. - public typealias ParentsPayload = [Components.Schemas.Commit.ParentsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/commit/parents`. - public var parents: Components.Schemas.Commit.ParentsPayload - /// - Remark: Generated from `#/components/schemas/commit/stats`. - public struct StatsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/stats/additions`. - public var additions: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit/stats/deletions`. - public var deletions: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit/stats/total`. - public var total: Swift.Int? - /// Creates a new `StatsPayload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public var head: Components.Schemas.PullRequestSimple.HeadPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public struct BasePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `BasePayload`. + /// + /// - Parameters: + /// - label: + /// - ref: + /// - repo: + /// - sha: + /// - user: + public init( + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, + sha: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil + ) { + self.label = label + self.ref = ref + self.repo = repo + self.sha = sha + self.user = user + } + public enum CodingKeys: String, CodingKey { + case label + case ref + case repo + case sha + case user + } + } + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public var base: Components.Schemas.PullRequestSimple.BasePayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public struct _LinksPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/comments`. + public var comments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/commits`. + public var commits: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/statuses`. + public var statuses: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/html`. + public var html: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/issue`. + public var issue: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comments`. + public var reviewComments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comment`. + public var reviewComment: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/self`. + public var _self: Components.Schemas.Link + /// Creates a new `_LinksPayload`. /// /// - Parameters: - /// - additions: - /// - deletions: - /// - total: + /// - comments: + /// - commits: + /// - statuses: + /// - html: + /// - issue: + /// - reviewComments: + /// - reviewComment: + /// - _self: public init( - additions: Swift.Int? = nil, - deletions: Swift.Int? = nil, - total: Swift.Int? = nil + comments: Components.Schemas.Link, + commits: Components.Schemas.Link, + statuses: Components.Schemas.Link, + html: Components.Schemas.Link, + issue: Components.Schemas.Link, + reviewComments: Components.Schemas.Link, + reviewComment: Components.Schemas.Link, + _self: Components.Schemas.Link ) { - self.additions = additions - self.deletions = deletions - self.total = total + self.comments = comments + self.commits = commits + self.statuses = statuses + self.html = html + self.issue = issue + self.reviewComments = reviewComments + self.reviewComment = reviewComment + self._self = _self } public enum CodingKeys: String, CodingKey { - case additions - case deletions - case total + case comments + case commits + case statuses + case html + case issue + case reviewComments = "review_comments" + case reviewComment = "review_comment" + case _self = "self" } } - /// - Remark: Generated from `#/components/schemas/commit/stats`. - public var stats: Components.Schemas.Commit.StatsPayload? - /// - Remark: Generated from `#/components/schemas/commit/files`. - public var files: [Components.Schemas.DiffEntry]? - /// Creates a new `Commit`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public var _links: Components.Schemas.PullRequestSimple._LinksPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/author_association`. + public var authorAssociation: Components.Schemas.AuthorAssociation + /// - Remark: Generated from `#/components/schemas/pull-request-simple/auto_merge`. + public var autoMerge: Components.Schemas.AutoMerge? + /// Indicates whether or not the pull request is a draft. + /// + /// - Remark: Generated from `#/components/schemas/pull-request-simple/draft`. + public var draft: Swift.Bool? + /// Creates a new `PullRequestSimple`. /// /// - Parameters: /// - url: - /// - sha: + /// - id: /// - nodeId: /// - htmlUrl: + /// - diffUrl: + /// - patchUrl: + /// - issueUrl: + /// - commitsUrl: + /// - reviewCommentsUrl: + /// - reviewCommentUrl: /// - commentsUrl: - /// - commit: - /// - author: - /// - committer: - /// - parents: - /// - stats: - /// - files: + /// - statusesUrl: + /// - number: + /// - state: + /// - locked: + /// - title: + /// - user: + /// - body: + /// - labels: + /// - milestone: + /// - activeLockReason: + /// - createdAt: + /// - updatedAt: + /// - closedAt: + /// - mergedAt: + /// - mergeCommitSha: + /// - assignee: + /// - assignees: + /// - requestedReviewers: + /// - requestedTeams: + /// - head: + /// - base: + /// - _links: + /// - authorAssociation: + /// - autoMerge: + /// - draft: Indicates whether or not the pull request is a draft. public init( url: Swift.String, - sha: Swift.String, + id: Swift.Int64, nodeId: Swift.String, htmlUrl: Swift.String, + diffUrl: Swift.String, + patchUrl: Swift.String, + issueUrl: Swift.String, + commitsUrl: Swift.String, + reviewCommentsUrl: Swift.String, + reviewCommentUrl: Swift.String, commentsUrl: Swift.String, - commit: Components.Schemas.Commit.CommitPayload, - author: Components.Schemas.Commit.AuthorPayload? = nil, - committer: Components.Schemas.Commit.CommitterPayload? = nil, - parents: Components.Schemas.Commit.ParentsPayload, - stats: Components.Schemas.Commit.StatsPayload? = nil, - files: [Components.Schemas.DiffEntry]? = nil + statusesUrl: Swift.String, + number: Swift.Int, + state: Swift.String, + locked: Swift.Bool, + title: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil, + body: Swift.String? = nil, + labels: Components.Schemas.PullRequestSimple.LabelsPayload, + milestone: Components.Schemas.NullableMilestone? = nil, + activeLockReason: Swift.String? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + closedAt: Foundation.Date? = nil, + mergedAt: Foundation.Date? = nil, + mergeCommitSha: Swift.String? = nil, + assignee: Components.Schemas.NullableSimpleUser? = nil, + assignees: [Components.Schemas.SimpleUser]? = nil, + requestedReviewers: [Components.Schemas.SimpleUser]? = nil, + requestedTeams: [Components.Schemas.Team]? = nil, + head: Components.Schemas.PullRequestSimple.HeadPayload, + base: Components.Schemas.PullRequestSimple.BasePayload, + _links: Components.Schemas.PullRequestSimple._LinksPayload, + authorAssociation: Components.Schemas.AuthorAssociation, + autoMerge: Components.Schemas.AutoMerge? = nil, + draft: Swift.Bool? = nil ) { self.url = url - self.sha = sha + self.id = id self.nodeId = nodeId self.htmlUrl = htmlUrl + self.diffUrl = diffUrl + self.patchUrl = patchUrl + self.issueUrl = issueUrl + self.commitsUrl = commitsUrl + self.reviewCommentsUrl = reviewCommentsUrl + self.reviewCommentUrl = reviewCommentUrl self.commentsUrl = commentsUrl - self.commit = commit - self.author = author - self.committer = committer - self.parents = parents - self.stats = stats - self.files = files + self.statusesUrl = statusesUrl + self.number = number + self.state = state + self.locked = locked + self.title = title + self.user = user + self.body = body + self.labels = labels + self.milestone = milestone + self.activeLockReason = activeLockReason + self.createdAt = createdAt + self.updatedAt = updatedAt + self.closedAt = closedAt + self.mergedAt = mergedAt + self.mergeCommitSha = mergeCommitSha + self.assignee = assignee + self.assignees = assignees + self.requestedReviewers = requestedReviewers + self.requestedTeams = requestedTeams + self.head = head + self.base = base + self._links = _links + self.authorAssociation = authorAssociation + self.autoMerge = autoMerge + self.draft = draft + } + public enum CodingKeys: String, CodingKey { + case url + case id + case nodeId = "node_id" + case htmlUrl = "html_url" + case diffUrl = "diff_url" + case patchUrl = "patch_url" + case issueUrl = "issue_url" + case commitsUrl = "commits_url" + case reviewCommentsUrl = "review_comments_url" + case reviewCommentUrl = "review_comment_url" + case commentsUrl = "comments_url" + case statusesUrl = "statuses_url" + case number + case state + case locked + case title + case user + case body + case labels + case milestone + case activeLockReason = "active_lock_reason" + case createdAt = "created_at" + case updatedAt = "updated_at" + case closedAt = "closed_at" + case mergedAt = "merged_at" + case mergeCommitSha = "merge_commit_sha" + case assignee + case assignees + case requestedReviewers = "requested_reviewers" + case requestedTeams = "requested_teams" + case head + case base + case _links + case authorAssociation = "author_association" + case autoMerge = "auto_merge" + case draft + } + } + /// Metaproperties for Git author/committer information. + /// + /// - Remark: Generated from `#/components/schemas/nullable-git-user`. + public struct NullableGitUser: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-git-user/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-git-user/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-git-user/date`. + public var date: Swift.String? + /// Creates a new `NullableGitUser`. + /// + /// - Parameters: + /// - name: + /// - email: + /// - date: + public init( + name: Swift.String? = nil, + email: Swift.String? = nil, + date: Swift.String? = nil + ) { + self.name = name + self.email = email + self.date = date } public enum CodingKeys: String, CodingKey { - case url - case sha - case nodeId = "node_id" - case htmlUrl = "html_url" - case commentsUrl = "comments_url" - case commit - case author - case committer - case parents - case stats - case files + case name + case email + case date } } - /// Hypermedia Link - /// - /// - Remark: Generated from `#/components/schemas/link`. - public struct Link: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/link/href`. - public var href: Swift.String - /// Creates a new `Link`. + /// - Remark: Generated from `#/components/schemas/verification`. + public struct Verification: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/verification/verified`. + public var verified: Swift.Bool + /// - Remark: Generated from `#/components/schemas/verification/reason`. + public var reason: Swift.String + /// - Remark: Generated from `#/components/schemas/verification/payload`. + public var payload: Swift.String? + /// - Remark: Generated from `#/components/schemas/verification/signature`. + public var signature: Swift.String? + /// - Remark: Generated from `#/components/schemas/verification/verified_at`. + public var verifiedAt: Swift.String? + /// Creates a new `Verification`. /// /// - Parameters: - /// - href: - public init(href: Swift.String) { - self.href = href + /// - verified: + /// - reason: + /// - payload: + /// - signature: + /// - verifiedAt: + public init( + verified: Swift.Bool, + reason: Swift.String, + payload: Swift.String? = nil, + signature: Swift.String? = nil, + verifiedAt: Swift.String? = nil + ) { + self.verified = verified + self.reason = reason + self.payload = payload + self.signature = signature + self.verifiedAt = verifiedAt } public enum CodingKeys: String, CodingKey { - case href + case verified + case reason + case payload + case signature + case verifiedAt = "verified_at" } } - /// The status of auto merging a pull request. + /// Diff Entry /// - /// - Remark: Generated from `#/components/schemas/auto-merge`. - public struct AutoMerge: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/auto-merge/enabled_by`. - public var enabledBy: Components.Schemas.SimpleUser - /// The merge method to use. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. - @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { - case merge = "merge" - case squash = "squash" - case rebase = "rebase" + /// - Remark: Generated from `#/components/schemas/diff-entry`. + public struct DiffEntry: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/diff-entry/sha`. + public var sha: Swift.String? + /// - Remark: Generated from `#/components/schemas/diff-entry/filename`. + public var filename: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/status`. + @frozen public enum StatusPayload: String, Codable, Hashable, Sendable, CaseIterable { + case added = "added" + case removed = "removed" + case modified = "modified" + case renamed = "renamed" + case copied = "copied" + case changed = "changed" + case unchanged = "unchanged" } - /// The merge method to use. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. - public var mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload - /// Title for the merge commit message. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/commit_title`. - public var commitTitle: Swift.String - /// Commit message for the merge commit. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/commit_message`. - public var commitMessage: Swift.String - /// Creates a new `AutoMerge`. + /// - Remark: Generated from `#/components/schemas/diff-entry/status`. + public var status: Components.Schemas.DiffEntry.StatusPayload + /// - Remark: Generated from `#/components/schemas/diff-entry/additions`. + public var additions: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/deletions`. + public var deletions: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/changes`. + public var changes: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/blob_url`. + public var blobUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/raw_url`. + public var rawUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/contents_url`. + public var contentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/patch`. + public var patch: Swift.String? + /// - Remark: Generated from `#/components/schemas/diff-entry/previous_filename`. + public var previousFilename: Swift.String? + /// Creates a new `DiffEntry`. /// /// - Parameters: - /// - enabledBy: - /// - mergeMethod: The merge method to use. - /// - commitTitle: Title for the merge commit message. - /// - commitMessage: Commit message for the merge commit. + /// - sha: + /// - filename: + /// - status: + /// - additions: + /// - deletions: + /// - changes: + /// - blobUrl: + /// - rawUrl: + /// - contentsUrl: + /// - patch: + /// - previousFilename: public init( - enabledBy: Components.Schemas.SimpleUser, - mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload, - commitTitle: Swift.String, - commitMessage: Swift.String + sha: Swift.String? = nil, + filename: Swift.String, + status: Components.Schemas.DiffEntry.StatusPayload, + additions: Swift.Int, + deletions: Swift.Int, + changes: Swift.Int, + blobUrl: Swift.String, + rawUrl: Swift.String, + contentsUrl: Swift.String, + patch: Swift.String? = nil, + previousFilename: Swift.String? = nil ) { - self.enabledBy = enabledBy - self.mergeMethod = mergeMethod - self.commitTitle = commitTitle - self.commitMessage = commitMessage + self.sha = sha + self.filename = filename + self.status = status + self.additions = additions + self.deletions = deletions + self.changes = changes + self.blobUrl = blobUrl + self.rawUrl = rawUrl + self.contentsUrl = contentsUrl + self.patch = patch + self.previousFilename = previousFilename } public enum CodingKeys: String, CodingKey { - case enabledBy = "enabled_by" - case mergeMethod = "merge_method" - case commitTitle = "commit_title" - case commitMessage = "commit_message" + case sha + case filename + case status + case additions + case deletions + case changes + case blobUrl = "blob_url" + case rawUrl = "raw_url" + case contentsUrl = "contents_url" + case patch + case previousFilename = "previous_filename" } } - /// Pull Request Simple + /// Commit /// - /// - Remark: Generated from `#/components/schemas/pull-request-simple`. - public struct PullRequestSimple: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/url`. + /// - Remark: Generated from `#/components/schemas/commit`. + public struct Commit: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/pull-request-simple/node_id`. + /// - Remark: Generated from `#/components/schemas/commit/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/node_id`. public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/html_url`. + /// - Remark: Generated from `#/components/schemas/commit/html_url`. public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/diff_url`. - public var diffUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/patch_url`. - public var patchUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/issue_url`. - public var issueUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/commits_url`. - public var commitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comments_url`. - public var reviewCommentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comment_url`. - public var reviewCommentUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/comments_url`. + /// - Remark: Generated from `#/components/schemas/commit/comments_url`. public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/statuses_url`. - public var statusesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/number`. - public var number: Swift.Int - /// - Remark: Generated from `#/components/schemas/pull-request-simple/state`. - public var state: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/locked`. - public var locked: Swift.Bool - /// - Remark: Generated from `#/components/schemas/pull-request-simple/title`. - public var title: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/body`. - public var body: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload`. - public struct LabelsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/url`. + /// - Remark: Generated from `#/components/schemas/commit/commit`. + public struct CommitPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/commit/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/description`. - public var description: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/color`. - public var color: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/default`. - public var _default: Swift.Bool - /// Creates a new `LabelsPayloadPayload`. + /// - Remark: Generated from `#/components/schemas/commit/commit/author`. + public var author: Components.Schemas.NullableGitUser? + /// - Remark: Generated from `#/components/schemas/commit/commit/committer`. + public var committer: Components.Schemas.NullableGitUser? + /// - Remark: Generated from `#/components/schemas/commit/commit/message`. + public var message: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/commit/comment_count`. + public var commentCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. + public struct TreePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/commit/tree/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/commit/tree/url`. + public var url: Swift.String + /// Creates a new `TreePayload`. + /// + /// - Parameters: + /// - sha: + /// - url: + public init( + sha: Swift.String, + url: Swift.String + ) { + self.sha = sha + self.url = url + } + public enum CodingKeys: String, CodingKey { + case sha + case url + } + } + /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. + public var tree: Components.Schemas.Commit.CommitPayload.TreePayload + /// - Remark: Generated from `#/components/schemas/commit/commit/verification`. + public var verification: Components.Schemas.Verification? + /// Creates a new `CommitPayload`. /// /// - Parameters: - /// - id: - /// - nodeId: /// - url: - /// - name: - /// - description: - /// - color: - /// - _default: + /// - author: + /// - committer: + /// - message: + /// - commentCount: + /// - tree: + /// - verification: public init( - id: Swift.Int64, - nodeId: Swift.String, url: Swift.String, - name: Swift.String, - description: Swift.String, - color: Swift.String, - _default: Swift.Bool + author: Components.Schemas.NullableGitUser? = nil, + committer: Components.Schemas.NullableGitUser? = nil, + message: Swift.String, + commentCount: Swift.Int, + tree: Components.Schemas.Commit.CommitPayload.TreePayload, + verification: Components.Schemas.Verification? = nil ) { - self.id = id - self.nodeId = nodeId self.url = url - self.name = name - self.description = description - self.color = color - self._default = _default + self.author = author + self.committer = committer + self.message = message + self.commentCount = commentCount + self.tree = tree + self.verification = verification } public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" case url - case name - case description - case color - case _default = "default" + case author + case committer + case message + case commentCount = "comment_count" + case tree + case verification } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. - public typealias LabelsPayload = [Components.Schemas.PullRequestSimple.LabelsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. - public var labels: Components.Schemas.PullRequestSimple.LabelsPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/milestone`. - public var milestone: Components.Schemas.NullableMilestone? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/active_lock_reason`. - public var activeLockReason: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/created_at`. - public var createdAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/pull-request-simple/updated_at`. - public var updatedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/pull-request-simple/closed_at`. - public var closedAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/merged_at`. - public var mergedAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/merge_commit_sha`. - public var mergeCommitSha: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignee`. - public var assignee: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignees`. - public var assignees: [Components.Schemas.SimpleUser]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_reviewers`. - public var requestedReviewers: [Components.Schemas.SimpleUser]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_teams`. - public var requestedTeams: [Components.Schemas.Team]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. - public struct HeadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/label`. - public var label: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/ref`. - public var ref: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/repo`. - public var repo: Components.Schemas.Repository - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// Creates a new `HeadPayload`. - /// - /// - Parameters: - /// - label: - /// - ref: - /// - repo: - /// - sha: - /// - user: - public init( - label: Swift.String, - ref: Swift.String, - repo: Components.Schemas.Repository, - sha: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil - ) { - self.label = label - self.ref = ref - self.repo = repo - self.sha = sha - self.user = user + /// - Remark: Generated from `#/components/schemas/commit/commit`. + public var commit: Components.Schemas.Commit.CommitPayload + /// - Remark: Generated from `#/components/schemas/commit/author`. + @frozen public enum AuthorPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/author/case1`. + case SimpleUser(Components.Schemas.SimpleUser) + /// - Remark: Generated from `#/components/schemas/commit/author/case2`. + case EmptyObject(Components.Schemas.EmptyObject) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .SimpleUser(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .EmptyObject(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) } - public enum CodingKeys: String, CodingKey { - case label - case ref - case repo - case sha - case user + public func encode(to encoder: any Encoder) throws { + switch self { + case let .SimpleUser(value): + try value.encode(to: encoder) + case let .EmptyObject(value): + try value.encode(to: encoder) + } } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. - public var head: Components.Schemas.PullRequestSimple.HeadPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. - public struct BasePayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/label`. - public var label: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/ref`. - public var ref: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/repo`. - public var repo: Components.Schemas.Repository - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/sha`. + /// - Remark: Generated from `#/components/schemas/commit/author`. + public var author: Components.Schemas.Commit.AuthorPayload? + /// - Remark: Generated from `#/components/schemas/commit/committer`. + @frozen public enum CommitterPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/committer/case1`. + case SimpleUser(Components.Schemas.SimpleUser) + /// - Remark: Generated from `#/components/schemas/commit/committer/case2`. + case EmptyObject(Components.Schemas.EmptyObject) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .SimpleUser(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .EmptyObject(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .SimpleUser(value): + try value.encode(to: encoder) + case let .EmptyObject(value): + try value.encode(to: encoder) + } + } + } + /// - Remark: Generated from `#/components/schemas/commit/committer`. + public var committer: Components.Schemas.Commit.CommitterPayload? + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload`. + public struct ParentsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/sha`. public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// Creates a new `BasePayload`. + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/html_url`. + public var htmlUrl: Swift.String? + /// Creates a new `ParentsPayloadPayload`. /// /// - Parameters: - /// - label: - /// - ref: - /// - repo: /// - sha: - /// - user: + /// - url: + /// - htmlUrl: public init( - label: Swift.String, - ref: Swift.String, - repo: Components.Schemas.Repository, sha: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil + url: Swift.String, + htmlUrl: Swift.String? = nil ) { - self.label = label - self.ref = ref - self.repo = repo self.sha = sha - self.user = user + self.url = url + self.htmlUrl = htmlUrl } public enum CodingKeys: String, CodingKey { - case label - case ref - case repo case sha - case user + case url + case htmlUrl = "html_url" } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. - public var base: Components.Schemas.PullRequestSimple.BasePayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. - public struct _LinksPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/comments`. - public var comments: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/commits`. - public var commits: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/statuses`. - public var statuses: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/html`. - public var html: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/issue`. - public var issue: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comments`. - public var reviewComments: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comment`. - public var reviewComment: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/self`. - public var _self: Components.Schemas.Link - /// Creates a new `_LinksPayload`. + /// - Remark: Generated from `#/components/schemas/commit/parents`. + public typealias ParentsPayload = [Components.Schemas.Commit.ParentsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/commit/parents`. + public var parents: Components.Schemas.Commit.ParentsPayload + /// - Remark: Generated from `#/components/schemas/commit/stats`. + public struct StatsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/stats/additions`. + public var additions: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit/stats/deletions`. + public var deletions: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit/stats/total`. + public var total: Swift.Int? + /// Creates a new `StatsPayload`. /// /// - Parameters: - /// - comments: - /// - commits: - /// - statuses: - /// - html: - /// - issue: - /// - reviewComments: - /// - reviewComment: - /// - _self: + /// - additions: + /// - deletions: + /// - total: public init( - comments: Components.Schemas.Link, - commits: Components.Schemas.Link, - statuses: Components.Schemas.Link, - html: Components.Schemas.Link, - issue: Components.Schemas.Link, - reviewComments: Components.Schemas.Link, - reviewComment: Components.Schemas.Link, - _self: Components.Schemas.Link + additions: Swift.Int? = nil, + deletions: Swift.Int? = nil, + total: Swift.Int? = nil ) { - self.comments = comments - self.commits = commits - self.statuses = statuses - self.html = html - self.issue = issue - self.reviewComments = reviewComments - self.reviewComment = reviewComment - self._self = _self + self.additions = additions + self.deletions = deletions + self.total = total } public enum CodingKeys: String, CodingKey { - case comments - case commits - case statuses - case html - case issue - case reviewComments = "review_comments" - case reviewComment = "review_comment" - case _self = "self" + case additions + case deletions + case total } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. - public var _links: Components.Schemas.PullRequestSimple._LinksPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/author_association`. - public var authorAssociation: Components.Schemas.AuthorAssociation - /// - Remark: Generated from `#/components/schemas/pull-request-simple/auto_merge`. - public var autoMerge: Components.Schemas.AutoMerge? - /// Indicates whether or not the pull request is a draft. - /// - /// - Remark: Generated from `#/components/schemas/pull-request-simple/draft`. - public var draft: Swift.Bool? - /// Creates a new `PullRequestSimple`. + /// - Remark: Generated from `#/components/schemas/commit/stats`. + public var stats: Components.Schemas.Commit.StatsPayload? + /// - Remark: Generated from `#/components/schemas/commit/files`. + public var files: [Components.Schemas.DiffEntry]? + /// Creates a new `Commit`. /// /// - Parameters: /// - url: - /// - id: + /// - sha: /// - nodeId: /// - htmlUrl: - /// - diffUrl: - /// - patchUrl: - /// - issueUrl: - /// - commitsUrl: - /// - reviewCommentsUrl: - /// - reviewCommentUrl: /// - commentsUrl: - /// - statusesUrl: - /// - number: - /// - state: - /// - locked: - /// - title: - /// - user: - /// - body: - /// - labels: - /// - milestone: - /// - activeLockReason: - /// - createdAt: - /// - updatedAt: - /// - closedAt: - /// - mergedAt: - /// - mergeCommitSha: - /// - assignee: - /// - assignees: - /// - requestedReviewers: - /// - requestedTeams: - /// - head: - /// - base: - /// - _links: - /// - authorAssociation: - /// - autoMerge: - /// - draft: Indicates whether or not the pull request is a draft. + /// - commit: + /// - author: + /// - committer: + /// - parents: + /// - stats: + /// - files: public init( url: Swift.String, - id: Swift.Int64, + sha: Swift.String, nodeId: Swift.String, htmlUrl: Swift.String, - diffUrl: Swift.String, - patchUrl: Swift.String, - issueUrl: Swift.String, - commitsUrl: Swift.String, - reviewCommentsUrl: Swift.String, - reviewCommentUrl: Swift.String, commentsUrl: Swift.String, - statusesUrl: Swift.String, - number: Swift.Int, - state: Swift.String, - locked: Swift.Bool, - title: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil, - body: Swift.String? = nil, - labels: Components.Schemas.PullRequestSimple.LabelsPayload, - milestone: Components.Schemas.NullableMilestone? = nil, - activeLockReason: Swift.String? = nil, - createdAt: Foundation.Date, - updatedAt: Foundation.Date, - closedAt: Foundation.Date? = nil, - mergedAt: Foundation.Date? = nil, - mergeCommitSha: Swift.String? = nil, - assignee: Components.Schemas.NullableSimpleUser? = nil, - assignees: [Components.Schemas.SimpleUser]? = nil, - requestedReviewers: [Components.Schemas.SimpleUser]? = nil, - requestedTeams: [Components.Schemas.Team]? = nil, - head: Components.Schemas.PullRequestSimple.HeadPayload, - base: Components.Schemas.PullRequestSimple.BasePayload, - _links: Components.Schemas.PullRequestSimple._LinksPayload, - authorAssociation: Components.Schemas.AuthorAssociation, - autoMerge: Components.Schemas.AutoMerge? = nil, - draft: Swift.Bool? = nil + commit: Components.Schemas.Commit.CommitPayload, + author: Components.Schemas.Commit.AuthorPayload? = nil, + committer: Components.Schemas.Commit.CommitterPayload? = nil, + parents: Components.Schemas.Commit.ParentsPayload, + stats: Components.Schemas.Commit.StatsPayload? = nil, + files: [Components.Schemas.DiffEntry]? = nil ) { self.url = url - self.id = id + self.sha = sha self.nodeId = nodeId self.htmlUrl = htmlUrl - self.diffUrl = diffUrl - self.patchUrl = patchUrl - self.issueUrl = issueUrl - self.commitsUrl = commitsUrl - self.reviewCommentsUrl = reviewCommentsUrl - self.reviewCommentUrl = reviewCommentUrl self.commentsUrl = commentsUrl - self.statusesUrl = statusesUrl - self.number = number - self.state = state - self.locked = locked - self.title = title - self.user = user - self.body = body - self.labels = labels - self.milestone = milestone - self.activeLockReason = activeLockReason - self.createdAt = createdAt - self.updatedAt = updatedAt - self.closedAt = closedAt - self.mergedAt = mergedAt - self.mergeCommitSha = mergeCommitSha - self.assignee = assignee - self.assignees = assignees - self.requestedReviewers = requestedReviewers - self.requestedTeams = requestedTeams - self.head = head - self.base = base - self._links = _links - self.authorAssociation = authorAssociation - self.autoMerge = autoMerge - self.draft = draft + self.commit = commit + self.author = author + self.committer = committer + self.parents = parents + self.stats = stats + self.files = files } public enum CodingKeys: String, CodingKey { case url - case id + case sha case nodeId = "node_id" case htmlUrl = "html_url" - case diffUrl = "diff_url" - case patchUrl = "patch_url" - case issueUrl = "issue_url" - case commitsUrl = "commits_url" - case reviewCommentsUrl = "review_comments_url" - case reviewCommentUrl = "review_comment_url" case commentsUrl = "comments_url" - case statusesUrl = "statuses_url" - case number - case state - case locked - case title - case user - case body - case labels - case milestone - case activeLockReason = "active_lock_reason" - case createdAt = "created_at" - case updatedAt = "updated_at" - case closedAt = "closed_at" - case mergedAt = "merged_at" - case mergeCommitSha = "merge_commit_sha" - case assignee - case assignees - case requestedReviewers = "requested_reviewers" - case requestedTeams = "requested_teams" - case head - case base - case _links - case authorAssociation = "author_association" - case autoMerge = "auto_merge" - case draft + case commit + case author + case committer + case parents + case stats + case files } } /// Pull Request Review Comments are comments on a portion of the Pull Request's diff. From 1412d216e20c5f3ac162befd5c1fd149a4054915 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Mon, 15 Sep 2025 21:44:07 +0000 Subject: [PATCH 3/4] Commit via running: make Sources/repos --- Sources/repos/Types.swift | 14805 ++++++++++++++++++------------------ 1 file changed, 7358 insertions(+), 7447 deletions(-) diff --git a/Sources/repos/Types.swift b/Sources/repos/Types.swift index 1352975e9e..0d16e6b595 100644 --- a/Sources/repos/Types.swift +++ b/Sources/repos/Types.swift @@ -9681,3261 +9681,2627 @@ public enum Components { case parent } } - /// Custom property name and associated value + /// Hypermedia Link /// - /// - Remark: Generated from `#/components/schemas/custom-property-value`. - public struct CustomPropertyValue: Codable, Hashable, Sendable { - /// The name of the property + /// - Remark: Generated from `#/components/schemas/link`. + public struct Link: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/link/href`. + public var href: Swift.String + /// Creates a new `Link`. /// - /// - Remark: Generated from `#/components/schemas/custom-property-value/property_name`. - public var propertyName: Swift.String - /// The value assigned to the property + /// - Parameters: + /// - href: + public init(href: Swift.String) { + self.href = href + } + public enum CodingKeys: String, CodingKey { + case href + } + } + /// The status of auto merging a pull request. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge`. + public struct AutoMerge: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/auto-merge/enabled_by`. + public var enabledBy: Components.Schemas.SimpleUser + /// The merge method to use. /// - /// - Remark: Generated from `#/components/schemas/custom-property-value/value`. - @frozen public enum ValuePayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/custom-property-value/value/case1`. - case case1(Swift.String) - /// - Remark: Generated from `#/components/schemas/custom-property-value/value/case2`. - case case2([Swift.String]) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .case1(try decoder.decodeFromSingleValueContainer()) - return - } catch { - errors.append(error) - } - do { - self = .case2(try decoder.decodeFromSingleValueContainer()) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) - } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .case1(value): - try encoder.encodeToSingleValueContainer(value) - case let .case2(value): - try encoder.encodeToSingleValueContainer(value) - } - } + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { + case merge = "merge" + case squash = "squash" + case rebase = "rebase" } - /// The value assigned to the property + /// The merge method to use. /// - /// - Remark: Generated from `#/components/schemas/custom-property-value/value`. - public var value: Components.Schemas.CustomPropertyValue.ValuePayload? - /// Creates a new `CustomPropertyValue`. + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + public var mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload + /// Title for the merge commit message. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_title`. + public var commitTitle: Swift.String + /// Commit message for the merge commit. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_message`. + public var commitMessage: Swift.String + /// Creates a new `AutoMerge`. /// /// - Parameters: - /// - propertyName: The name of the property - /// - value: The value assigned to the property + /// - enabledBy: + /// - mergeMethod: The merge method to use. + /// - commitTitle: Title for the merge commit message. + /// - commitMessage: Commit message for the merge commit. public init( - propertyName: Swift.String, - value: Components.Schemas.CustomPropertyValue.ValuePayload? = nil + enabledBy: Components.Schemas.SimpleUser, + mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload, + commitTitle: Swift.String, + commitMessage: Swift.String ) { - self.propertyName = propertyName - self.value = value + self.enabledBy = enabledBy + self.mergeMethod = mergeMethod + self.commitTitle = commitTitle + self.commitMessage = commitMessage } public enum CodingKeys: String, CodingKey { - case propertyName = "property_name" - case value + case enabledBy = "enabled_by" + case mergeMethod = "merge_method" + case commitTitle = "commit_title" + case commitMessage = "commit_message" } } - /// A repository on GitHub. + /// Pull Request Simple /// - /// - Remark: Generated from `#/components/schemas/nullable-repository`. - public struct NullableRepository: Codable, Hashable, Sendable { - /// Unique identifier of the repository - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/id`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple`. + public struct PullRequestSimple: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/id`. public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/nullable-repository/node_id`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/node_id`. public var nodeId: Swift.String - /// The name of the repository. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/full_name`. - public var fullName: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/license`. - public var license: Components.Schemas.NullableLicenseSimple? - /// - Remark: Generated from `#/components/schemas/nullable-repository/forks`. - public var forks: Swift.Int - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions`. - public struct PermissionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/admin`. - public var admin: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/pull`. - public var pull: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/triage`. - public var triage: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/push`. - public var push: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/maintain`. - public var maintain: Swift.Bool? - /// Creates a new `PermissionsPayload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/diff_url`. + public var diffUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/patch_url`. + public var patchUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/issue_url`. + public var issueUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comments_url`. + public var reviewCommentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comment_url`. + public var reviewCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/number`. + public var number: Swift.Int + /// - Remark: Generated from `#/components/schemas/pull-request-simple/state`. + public var state: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/locked`. + public var locked: Swift.Bool + /// - Remark: Generated from `#/components/schemas/pull-request-simple/title`. + public var title: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/body`. + public var body: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload`. + public struct LabelsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/description`. + public var description: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/color`. + public var color: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/default`. + public var _default: Swift.Bool + /// Creates a new `LabelsPayloadPayload`. /// /// - Parameters: - /// - admin: - /// - pull: - /// - triage: - /// - push: - /// - maintain: + /// - id: + /// - nodeId: + /// - url: + /// - name: + /// - description: + /// - color: + /// - _default: public init( - admin: Swift.Bool, - pull: Swift.Bool, - triage: Swift.Bool? = nil, - push: Swift.Bool, - maintain: Swift.Bool? = nil + id: Swift.Int64, + nodeId: Swift.String, + url: Swift.String, + name: Swift.String, + description: Swift.String, + color: Swift.String, + _default: Swift.Bool ) { - self.admin = admin - self.pull = pull - self.triage = triage - self.push = push - self.maintain = maintain + self.id = id + self.nodeId = nodeId + self.url = url + self.name = name + self.description = description + self.color = color + self._default = _default } public enum CodingKeys: String, CodingKey { - case admin - case pull - case triage - case push - case maintain + case id + case nodeId = "node_id" + case url + case name + case description + case color + case _default = "default" } } - /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions`. - public var permissions: Components.Schemas.NullableRepository.PermissionsPayload? - /// - Remark: Generated from `#/components/schemas/nullable-repository/owner`. - public var owner: Components.Schemas.SimpleUser - /// Whether the repository is private or public. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/private`. - public var _private: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/fork`. - public var fork: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/archive_url`. - public var archiveUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/assignees_url`. - public var assigneesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/blobs_url`. - public var blobsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/branches_url`. - public var branchesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/collaborators_url`. - public var collaboratorsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/comments_url`. - public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/commits_url`. - public var commitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/compare_url`. - public var compareUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/contents_url`. - public var contentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/contributors_url`. - public var contributorsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/deployments_url`. - public var deploymentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/downloads_url`. - public var downloadsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/events_url`. - public var eventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/forks_url`. - public var forksUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/git_commits_url`. - public var gitCommitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/git_refs_url`. - public var gitRefsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/git_tags_url`. - public var gitTagsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/git_url`. - public var gitUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/issue_comment_url`. - public var issueCommentUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/issue_events_url`. - public var issueEventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/issues_url`. - public var issuesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/keys_url`. - public var keysUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/labels_url`. - public var labelsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/languages_url`. - public var languagesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/merges_url`. - public var mergesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/milestones_url`. - public var milestonesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/notifications_url`. - public var notificationsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/pulls_url`. - public var pullsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/releases_url`. - public var releasesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/ssh_url`. - public var sshUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/stargazers_url`. - public var stargazersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/statuses_url`. - public var statusesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/subscribers_url`. - public var subscribersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/subscription_url`. - public var subscriptionUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/tags_url`. - public var tagsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/teams_url`. - public var teamsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/trees_url`. - public var treesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/clone_url`. - public var cloneUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/mirror_url`. - public var mirrorUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/hooks_url`. - public var hooksUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/svn_url`. - public var svnUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/homepage`. - public var homepage: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/language`. - public var language: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/forks_count`. - public var forksCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/nullable-repository/stargazers_count`. - public var stargazersCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/nullable-repository/watchers_count`. - public var watchersCount: Swift.Int - /// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/size`. - public var size: Swift.Int - /// The default branch of the repository. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/default_branch`. - public var defaultBranch: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-repository/open_issues_count`. - public var openIssuesCount: Swift.Int - /// Whether this repository acts as a template that can be used to generate new repositories. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/is_template`. - public var isTemplate: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-repository/topics`. - public var topics: [Swift.String]? - /// Whether issues are enabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_issues`. - public var hasIssues: Swift.Bool - /// Whether projects are enabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_projects`. - public var hasProjects: Swift.Bool - /// Whether the wiki is enabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_wiki`. - public var hasWiki: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_pages`. - public var hasPages: Swift.Bool - /// Whether downloads are enabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_downloads`. - @available(*, deprecated) - public var hasDownloads: Swift.Bool - /// Whether discussions are enabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/has_discussions`. - public var hasDiscussions: Swift.Bool? - /// Whether the repository is archived. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/archived`. - public var archived: Swift.Bool - /// Returns whether or not this repository disabled. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/disabled`. - public var disabled: Swift.Bool - /// The repository visibility: public, private, or internal. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/visibility`. - public var visibility: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/pushed_at`. - public var pushedAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/nullable-repository/created_at`. - public var createdAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/nullable-repository/updated_at`. - public var updatedAt: Foundation.Date? - /// Whether to allow rebase merges for pull requests. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_rebase_merge`. - public var allowRebaseMerge: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-repository/temp_clone_token`. - public var tempCloneToken: Swift.String? - /// Whether to allow squash merges for pull requests. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_squash_merge`. - public var allowSquashMerge: Swift.Bool? - /// Whether to allow Auto-merge to be used on pull requests. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_auto_merge`. - public var allowAutoMerge: Swift.Bool? - /// Whether to delete head branches when pull requests are merged - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/delete_branch_on_merge`. - public var deleteBranchOnMerge: Swift.Bool? - /// Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_update_branch`. - public var allowUpdateBranch: Swift.Bool? - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/use_squash_pr_title_as_default`. - @available(*, deprecated) - public var useSquashPrTitleAsDefault: Swift.Bool? - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_title`. - @frozen public enum SquashMergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prTitle = "PR_TITLE" - case commitOrPrTitle = "COMMIT_OR_PR_TITLE" - } - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_title`. - public var squashMergeCommitTitle: Components.Schemas.NullableRepository.SquashMergeCommitTitlePayload? - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_message`. - @frozen public enum SquashMergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prBody = "PR_BODY" - case commitMessages = "COMMIT_MESSAGES" - case blank = "BLANK" - } - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_message`. - public var squashMergeCommitMessage: Components.Schemas.NullableRepository.SquashMergeCommitMessagePayload? - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_title`. - @frozen public enum MergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prTitle = "PR_TITLE" - case mergeMessage = "MERGE_MESSAGE" - } - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_title`. - public var mergeCommitTitle: Components.Schemas.NullableRepository.MergeCommitTitlePayload? - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_message`. - @frozen public enum MergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prBody = "PR_BODY" - case prTitle = "PR_TITLE" - case blank = "BLANK" - } - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_message`. - public var mergeCommitMessage: Components.Schemas.NullableRepository.MergeCommitMessagePayload? - /// Whether to allow merge commits for pull requests. - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_merge_commit`. - public var allowMergeCommit: Swift.Bool? - /// Whether to allow forking this repo - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_forking`. - public var allowForking: Swift.Bool? - /// Whether to require contributors to sign off on web-based commits - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/web_commit_signoff_required`. - public var webCommitSignoffRequired: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-repository/open_issues`. - public var openIssues: Swift.Int - /// - Remark: Generated from `#/components/schemas/nullable-repository/watchers`. - public var watchers: Swift.Int - /// - Remark: Generated from `#/components/schemas/nullable-repository/master_branch`. - public var masterBranch: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-repository/starred_at`. - public var starredAt: Swift.String? - /// Whether anonymous git access is enabled for this repository - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/anonymous_access_enabled`. - public var anonymousAccessEnabled: Swift.Bool? - /// The status of the code search index for this repository - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status`. - public struct CodeSearchIndexStatusPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status/lexical_search_ok`. - public var lexicalSearchOk: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status/lexical_commit_sha`. - public var lexicalCommitSha: Swift.String? - /// Creates a new `CodeSearchIndexStatusPayload`. - /// - /// - Parameters: - /// - lexicalSearchOk: - /// - lexicalCommitSha: - public init( - lexicalSearchOk: Swift.Bool? = nil, - lexicalCommitSha: Swift.String? = nil - ) { - self.lexicalSearchOk = lexicalSearchOk - self.lexicalCommitSha = lexicalCommitSha - } - public enum CodingKeys: String, CodingKey { - case lexicalSearchOk = "lexical_search_ok" - case lexicalCommitSha = "lexical_commit_sha" - } - } - /// The status of the code search index for this repository - /// - /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status`. - public var codeSearchIndexStatus: Components.Schemas.NullableRepository.CodeSearchIndexStatusPayload? - /// Creates a new `NullableRepository`. - /// - /// - Parameters: - /// - id: Unique identifier of the repository - /// - nodeId: - /// - name: The name of the repository. - /// - fullName: - /// - license: - /// - forks: - /// - permissions: - /// - owner: - /// - _private: Whether the repository is private or public. - /// - htmlUrl: - /// - description: - /// - fork: - /// - url: - /// - archiveUrl: - /// - assigneesUrl: - /// - blobsUrl: - /// - branchesUrl: - /// - collaboratorsUrl: - /// - commentsUrl: - /// - commitsUrl: - /// - compareUrl: - /// - contentsUrl: - /// - contributorsUrl: - /// - deploymentsUrl: - /// - downloadsUrl: - /// - eventsUrl: - /// - forksUrl: - /// - gitCommitsUrl: - /// - gitRefsUrl: - /// - gitTagsUrl: - /// - gitUrl: - /// - issueCommentUrl: - /// - issueEventsUrl: - /// - issuesUrl: - /// - keysUrl: - /// - labelsUrl: - /// - languagesUrl: - /// - mergesUrl: - /// - milestonesUrl: - /// - notificationsUrl: - /// - pullsUrl: - /// - releasesUrl: - /// - sshUrl: - /// - stargazersUrl: - /// - statusesUrl: - /// - subscribersUrl: - /// - subscriptionUrl: - /// - tagsUrl: - /// - teamsUrl: - /// - treesUrl: - /// - cloneUrl: - /// - mirrorUrl: - /// - hooksUrl: - /// - svnUrl: - /// - homepage: - /// - language: - /// - forksCount: - /// - stargazersCount: - /// - watchersCount: - /// - size: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - /// - defaultBranch: The default branch of the repository. - /// - openIssuesCount: - /// - isTemplate: Whether this repository acts as a template that can be used to generate new repositories. - /// - topics: - /// - hasIssues: Whether issues are enabled. - /// - hasProjects: Whether projects are enabled. - /// - hasWiki: Whether the wiki is enabled. - /// - hasPages: - /// - hasDownloads: Whether downloads are enabled. - /// - hasDiscussions: Whether discussions are enabled. - /// - archived: Whether the repository is archived. - /// - disabled: Returns whether or not this repository disabled. - /// - visibility: The repository visibility: public, private, or internal. - /// - pushedAt: - /// - createdAt: - /// - updatedAt: - /// - allowRebaseMerge: Whether to allow rebase merges for pull requests. - /// - tempCloneToken: - /// - allowSquashMerge: Whether to allow squash merges for pull requests. - /// - allowAutoMerge: Whether to allow Auto-merge to be used on pull requests. - /// - deleteBranchOnMerge: Whether to delete head branches when pull requests are merged - /// - allowUpdateBranch: Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - /// - useSquashPrTitleAsDefault: Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - squashMergeCommitTitle: The default value for a squash merge commit title: - /// - squashMergeCommitMessage: The default value for a squash merge commit message: - /// - mergeCommitTitle: The default value for a merge commit title. - /// - mergeCommitMessage: The default value for a merge commit message. - /// - allowMergeCommit: Whether to allow merge commits for pull requests. - /// - allowForking: Whether to allow forking this repo - /// - webCommitSignoffRequired: Whether to require contributors to sign off on web-based commits - /// - openIssues: - /// - watchers: - /// - masterBranch: - /// - starredAt: - /// - anonymousAccessEnabled: Whether anonymous git access is enabled for this repository - /// - codeSearchIndexStatus: The status of the code search index for this repository - public init( - id: Swift.Int64, - nodeId: Swift.String, - name: Swift.String, - fullName: Swift.String, - license: Components.Schemas.NullableLicenseSimple? = nil, - forks: Swift.Int, - permissions: Components.Schemas.NullableRepository.PermissionsPayload? = nil, - owner: Components.Schemas.SimpleUser, - _private: Swift.Bool, - htmlUrl: Swift.String, - description: Swift.String? = nil, - fork: Swift.Bool, - url: Swift.String, - archiveUrl: Swift.String, - assigneesUrl: Swift.String, - blobsUrl: Swift.String, - branchesUrl: Swift.String, - collaboratorsUrl: Swift.String, - commentsUrl: Swift.String, - commitsUrl: Swift.String, - compareUrl: Swift.String, - contentsUrl: Swift.String, - contributorsUrl: Swift.String, - deploymentsUrl: Swift.String, - downloadsUrl: Swift.String, - eventsUrl: Swift.String, - forksUrl: Swift.String, - gitCommitsUrl: Swift.String, - gitRefsUrl: Swift.String, - gitTagsUrl: Swift.String, - gitUrl: Swift.String, - issueCommentUrl: Swift.String, - issueEventsUrl: Swift.String, - issuesUrl: Swift.String, - keysUrl: Swift.String, - labelsUrl: Swift.String, - languagesUrl: Swift.String, - mergesUrl: Swift.String, - milestonesUrl: Swift.String, - notificationsUrl: Swift.String, - pullsUrl: Swift.String, - releasesUrl: Swift.String, - sshUrl: Swift.String, - stargazersUrl: Swift.String, - statusesUrl: Swift.String, - subscribersUrl: Swift.String, - subscriptionUrl: Swift.String, - tagsUrl: Swift.String, - teamsUrl: Swift.String, - treesUrl: Swift.String, - cloneUrl: Swift.String, - mirrorUrl: Swift.String? = nil, - hooksUrl: Swift.String, - svnUrl: Swift.String, - homepage: Swift.String? = nil, - language: Swift.String? = nil, - forksCount: Swift.Int, - stargazersCount: Swift.Int, - watchersCount: Swift.Int, - size: Swift.Int, - defaultBranch: Swift.String, - openIssuesCount: Swift.Int, - isTemplate: Swift.Bool? = nil, - topics: [Swift.String]? = nil, - hasIssues: Swift.Bool, - hasProjects: Swift.Bool, - hasWiki: Swift.Bool, - hasPages: Swift.Bool, - hasDownloads: Swift.Bool, - hasDiscussions: Swift.Bool? = nil, - archived: Swift.Bool, - disabled: Swift.Bool, - visibility: Swift.String? = nil, - pushedAt: Foundation.Date? = nil, - createdAt: Foundation.Date? = nil, - updatedAt: Foundation.Date? = nil, - allowRebaseMerge: Swift.Bool? = nil, - tempCloneToken: Swift.String? = nil, - allowSquashMerge: Swift.Bool? = nil, - allowAutoMerge: Swift.Bool? = nil, - deleteBranchOnMerge: Swift.Bool? = nil, - allowUpdateBranch: Swift.Bool? = nil, - useSquashPrTitleAsDefault: Swift.Bool? = nil, - squashMergeCommitTitle: Components.Schemas.NullableRepository.SquashMergeCommitTitlePayload? = nil, - squashMergeCommitMessage: Components.Schemas.NullableRepository.SquashMergeCommitMessagePayload? = nil, - mergeCommitTitle: Components.Schemas.NullableRepository.MergeCommitTitlePayload? = nil, - mergeCommitMessage: Components.Schemas.NullableRepository.MergeCommitMessagePayload? = nil, - allowMergeCommit: Swift.Bool? = nil, - allowForking: Swift.Bool? = nil, - webCommitSignoffRequired: Swift.Bool? = nil, - openIssues: Swift.Int, - watchers: Swift.Int, - masterBranch: Swift.String? = nil, - starredAt: Swift.String? = nil, - anonymousAccessEnabled: Swift.Bool? = nil, - codeSearchIndexStatus: Components.Schemas.NullableRepository.CodeSearchIndexStatusPayload? = nil - ) { - self.id = id - self.nodeId = nodeId - self.name = name - self.fullName = fullName - self.license = license - self.forks = forks - self.permissions = permissions - self.owner = owner - self._private = _private - self.htmlUrl = htmlUrl - self.description = description - self.fork = fork - self.url = url - self.archiveUrl = archiveUrl - self.assigneesUrl = assigneesUrl - self.blobsUrl = blobsUrl - self.branchesUrl = branchesUrl - self.collaboratorsUrl = collaboratorsUrl - self.commentsUrl = commentsUrl - self.commitsUrl = commitsUrl - self.compareUrl = compareUrl - self.contentsUrl = contentsUrl - self.contributorsUrl = contributorsUrl - self.deploymentsUrl = deploymentsUrl - self.downloadsUrl = downloadsUrl - self.eventsUrl = eventsUrl - self.forksUrl = forksUrl - self.gitCommitsUrl = gitCommitsUrl - self.gitRefsUrl = gitRefsUrl - self.gitTagsUrl = gitTagsUrl - self.gitUrl = gitUrl - self.issueCommentUrl = issueCommentUrl - self.issueEventsUrl = issueEventsUrl - self.issuesUrl = issuesUrl - self.keysUrl = keysUrl - self.labelsUrl = labelsUrl - self.languagesUrl = languagesUrl - self.mergesUrl = mergesUrl - self.milestonesUrl = milestonesUrl - self.notificationsUrl = notificationsUrl - self.pullsUrl = pullsUrl - self.releasesUrl = releasesUrl - self.sshUrl = sshUrl - self.stargazersUrl = stargazersUrl - self.statusesUrl = statusesUrl - self.subscribersUrl = subscribersUrl - self.subscriptionUrl = subscriptionUrl - self.tagsUrl = tagsUrl - self.teamsUrl = teamsUrl - self.treesUrl = treesUrl - self.cloneUrl = cloneUrl - self.mirrorUrl = mirrorUrl - self.hooksUrl = hooksUrl - self.svnUrl = svnUrl - self.homepage = homepage - self.language = language - self.forksCount = forksCount - self.stargazersCount = stargazersCount - self.watchersCount = watchersCount - self.size = size - self.defaultBranch = defaultBranch - self.openIssuesCount = openIssuesCount - self.isTemplate = isTemplate - self.topics = topics - self.hasIssues = hasIssues - self.hasProjects = hasProjects - self.hasWiki = hasWiki - self.hasPages = hasPages - self.hasDownloads = hasDownloads - self.hasDiscussions = hasDiscussions - self.archived = archived - self.disabled = disabled - self.visibility = visibility - self.pushedAt = pushedAt - self.createdAt = createdAt - self.updatedAt = updatedAt - self.allowRebaseMerge = allowRebaseMerge - self.tempCloneToken = tempCloneToken - self.allowSquashMerge = allowSquashMerge - self.allowAutoMerge = allowAutoMerge - self.deleteBranchOnMerge = deleteBranchOnMerge - self.allowUpdateBranch = allowUpdateBranch - self.useSquashPrTitleAsDefault = useSquashPrTitleAsDefault - self.squashMergeCommitTitle = squashMergeCommitTitle - self.squashMergeCommitMessage = squashMergeCommitMessage - self.mergeCommitTitle = mergeCommitTitle - self.mergeCommitMessage = mergeCommitMessage - self.allowMergeCommit = allowMergeCommit - self.allowForking = allowForking - self.webCommitSignoffRequired = webCommitSignoffRequired - self.openIssues = openIssues - self.watchers = watchers - self.masterBranch = masterBranch - self.starredAt = starredAt - self.anonymousAccessEnabled = anonymousAccessEnabled - self.codeSearchIndexStatus = codeSearchIndexStatus - } - public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" - case name - case fullName = "full_name" - case license - case forks - case permissions - case owner - case _private = "private" - case htmlUrl = "html_url" - case description - case fork - case url - case archiveUrl = "archive_url" - case assigneesUrl = "assignees_url" - case blobsUrl = "blobs_url" - case branchesUrl = "branches_url" - case collaboratorsUrl = "collaborators_url" - case commentsUrl = "comments_url" - case commitsUrl = "commits_url" - case compareUrl = "compare_url" - case contentsUrl = "contents_url" - case contributorsUrl = "contributors_url" - case deploymentsUrl = "deployments_url" - case downloadsUrl = "downloads_url" - case eventsUrl = "events_url" - case forksUrl = "forks_url" - case gitCommitsUrl = "git_commits_url" - case gitRefsUrl = "git_refs_url" - case gitTagsUrl = "git_tags_url" - case gitUrl = "git_url" - case issueCommentUrl = "issue_comment_url" - case issueEventsUrl = "issue_events_url" - case issuesUrl = "issues_url" - case keysUrl = "keys_url" - case labelsUrl = "labels_url" - case languagesUrl = "languages_url" - case mergesUrl = "merges_url" - case milestonesUrl = "milestones_url" - case notificationsUrl = "notifications_url" - case pullsUrl = "pulls_url" - case releasesUrl = "releases_url" - case sshUrl = "ssh_url" - case stargazersUrl = "stargazers_url" - case statusesUrl = "statuses_url" - case subscribersUrl = "subscribers_url" - case subscriptionUrl = "subscription_url" - case tagsUrl = "tags_url" - case teamsUrl = "teams_url" - case treesUrl = "trees_url" - case cloneUrl = "clone_url" - case mirrorUrl = "mirror_url" - case hooksUrl = "hooks_url" - case svnUrl = "svn_url" - case homepage - case language - case forksCount = "forks_count" - case stargazersCount = "stargazers_count" - case watchersCount = "watchers_count" - case size - case defaultBranch = "default_branch" - case openIssuesCount = "open_issues_count" - case isTemplate = "is_template" - case topics - case hasIssues = "has_issues" - case hasProjects = "has_projects" - case hasWiki = "has_wiki" - case hasPages = "has_pages" - case hasDownloads = "has_downloads" - case hasDiscussions = "has_discussions" - case archived - case disabled - case visibility - case pushedAt = "pushed_at" - case createdAt = "created_at" - case updatedAt = "updated_at" - case allowRebaseMerge = "allow_rebase_merge" - case tempCloneToken = "temp_clone_token" - case allowSquashMerge = "allow_squash_merge" - case allowAutoMerge = "allow_auto_merge" - case deleteBranchOnMerge = "delete_branch_on_merge" - case allowUpdateBranch = "allow_update_branch" - case useSquashPrTitleAsDefault = "use_squash_pr_title_as_default" - case squashMergeCommitTitle = "squash_merge_commit_title" - case squashMergeCommitMessage = "squash_merge_commit_message" - case mergeCommitTitle = "merge_commit_title" - case mergeCommitMessage = "merge_commit_message" - case allowMergeCommit = "allow_merge_commit" - case allowForking = "allow_forking" - case webCommitSignoffRequired = "web_commit_signoff_required" - case openIssues = "open_issues" - case watchers - case masterBranch = "master_branch" - case starredAt = "starred_at" - case anonymousAccessEnabled = "anonymous_access_enabled" - case codeSearchIndexStatus = "code_search_index_status" - } - } - /// Code of Conduct Simple - /// - /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple`. - public struct CodeOfConductSimple: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/key`. - public var key: Swift.String - /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/html_url`. - public var htmlUrl: Swift.String? - /// Creates a new `CodeOfConductSimple`. - /// - /// - Parameters: - /// - url: - /// - key: - /// - name: - /// - htmlUrl: - public init( - url: Swift.String, - key: Swift.String, - name: Swift.String, - htmlUrl: Swift.String? = nil - ) { - self.url = url - self.key = key - self.name = name - self.htmlUrl = htmlUrl - } - public enum CodingKeys: String, CodingKey { - case url - case key - case name - case htmlUrl = "html_url" - } - } - /// Full Repository - /// - /// - Remark: Generated from `#/components/schemas/full-repository`. - public struct FullRepository: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/full-repository/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/full-repository/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/full_name`. - public var fullName: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/owner`. - public var owner: Components.Schemas.SimpleUser - /// - Remark: Generated from `#/components/schemas/full-repository/private`. - public var _private: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/fork`. - public var fork: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/archive_url`. - public var archiveUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/assignees_url`. - public var assigneesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/blobs_url`. - public var blobsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/branches_url`. - public var branchesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/collaborators_url`. - public var collaboratorsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/comments_url`. - public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/commits_url`. - public var commitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/compare_url`. - public var compareUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/contents_url`. - public var contentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/contributors_url`. - public var contributorsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/deployments_url`. - public var deploymentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/downloads_url`. - public var downloadsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/events_url`. - public var eventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/forks_url`. - public var forksUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/git_commits_url`. - public var gitCommitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/git_refs_url`. - public var gitRefsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/git_tags_url`. - public var gitTagsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/git_url`. - public var gitUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/issue_comment_url`. - public var issueCommentUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/issue_events_url`. - public var issueEventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/issues_url`. - public var issuesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/keys_url`. - public var keysUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/labels_url`. - public var labelsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/languages_url`. - public var languagesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/merges_url`. - public var mergesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/milestones_url`. - public var milestonesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/notifications_url`. - public var notificationsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/pulls_url`. - public var pullsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/releases_url`. - public var releasesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/ssh_url`. - public var sshUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/stargazers_url`. - public var stargazersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/statuses_url`. - public var statusesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/subscribers_url`. - public var subscribersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/subscription_url`. - public var subscriptionUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/tags_url`. - public var tagsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/teams_url`. - public var teamsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/trees_url`. - public var treesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/clone_url`. - public var cloneUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/mirror_url`. - public var mirrorUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/hooks_url`. - public var hooksUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/svn_url`. - public var svnUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/homepage`. - public var homepage: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/language`. - public var language: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/forks_count`. - public var forksCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/stargazers_count`. - public var stargazersCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/watchers_count`. - public var watchersCount: Swift.Int - /// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/size`. - public var size: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/default_branch`. - public var defaultBranch: Swift.String - /// - Remark: Generated from `#/components/schemas/full-repository/open_issues_count`. - public var openIssuesCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/is_template`. - public var isTemplate: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/topics`. - public var topics: [Swift.String]? - /// - Remark: Generated from `#/components/schemas/full-repository/has_issues`. - public var hasIssues: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/has_projects`. - public var hasProjects: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/has_wiki`. - public var hasWiki: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/has_pages`. - public var hasPages: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/has_downloads`. - public var hasDownloads: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/has_discussions`. - public var hasDiscussions: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/archived`. - public var archived: Swift.Bool - /// Returns whether or not this repository disabled. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/disabled`. - public var disabled: Swift.Bool - /// The repository visibility: public, private, or internal. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/visibility`. - public var visibility: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/pushed_at`. - public var pushedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/full-repository/created_at`. - public var createdAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/full-repository/updated_at`. - public var updatedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/full-repository/permissions`. - public struct PermissionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/full-repository/permissions/admin`. - public var admin: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/permissions/maintain`. - public var maintain: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/permissions/push`. - public var push: Swift.Bool - /// - Remark: Generated from `#/components/schemas/full-repository/permissions/triage`. - public var triage: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/permissions/pull`. - public var pull: Swift.Bool - /// Creates a new `PermissionsPayload`. - /// - /// - Parameters: - /// - admin: - /// - maintain: - /// - push: - /// - triage: - /// - pull: - public init( - admin: Swift.Bool, - maintain: Swift.Bool? = nil, - push: Swift.Bool, - triage: Swift.Bool? = nil, - pull: Swift.Bool - ) { - self.admin = admin - self.maintain = maintain - self.push = push - self.triage = triage - self.pull = pull - } - public enum CodingKeys: String, CodingKey { - case admin - case maintain - case push - case triage - case pull - } - } - /// - Remark: Generated from `#/components/schemas/full-repository/permissions`. - public var permissions: Components.Schemas.FullRepository.PermissionsPayload? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_rebase_merge`. - public var allowRebaseMerge: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/template_repository`. - public var templateRepository: Components.Schemas.NullableRepository? - /// - Remark: Generated from `#/components/schemas/full-repository/temp_clone_token`. - public var tempCloneToken: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_squash_merge`. - public var allowSquashMerge: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_auto_merge`. - public var allowAutoMerge: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/delete_branch_on_merge`. - public var deleteBranchOnMerge: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_merge_commit`. - public var allowMergeCommit: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_update_branch`. - public var allowUpdateBranch: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/use_squash_pr_title_as_default`. - public var useSquashPrTitleAsDefault: Swift.Bool? - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_title`. - @frozen public enum SquashMergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prTitle = "PR_TITLE" - case commitOrPrTitle = "COMMIT_OR_PR_TITLE" - } - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_title`. - public var squashMergeCommitTitle: Components.Schemas.FullRepository.SquashMergeCommitTitlePayload? - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_message`. - @frozen public enum SquashMergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prBody = "PR_BODY" - case commitMessages = "COMMIT_MESSAGES" - case blank = "BLANK" - } - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_message`. - public var squashMergeCommitMessage: Components.Schemas.FullRepository.SquashMergeCommitMessagePayload? - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_title`. - @frozen public enum MergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prTitle = "PR_TITLE" - case mergeMessage = "MERGE_MESSAGE" - } - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_title`. - public var mergeCommitTitle: Components.Schemas.FullRepository.MergeCommitTitlePayload? - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_message`. - @frozen public enum MergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { - case prBody = "PR_BODY" - case prTitle = "PR_TITLE" - case blank = "BLANK" - } - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_message`. - public var mergeCommitMessage: Components.Schemas.FullRepository.MergeCommitMessagePayload? - /// - Remark: Generated from `#/components/schemas/full-repository/allow_forking`. - public var allowForking: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/web_commit_signoff_required`. - public var webCommitSignoffRequired: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/subscribers_count`. - public var subscribersCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/network_count`. - public var networkCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/license`. - public var license: Components.Schemas.NullableLicenseSimple? - /// - Remark: Generated from `#/components/schemas/full-repository/organization`. - public var organization: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/full-repository/parent`. - public var parent: Components.Schemas.Repository? - /// - Remark: Generated from `#/components/schemas/full-repository/source`. - public var source: Components.Schemas.Repository? - /// - Remark: Generated from `#/components/schemas/full-repository/forks`. - public var forks: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/master_branch`. - public var masterBranch: Swift.String? - /// - Remark: Generated from `#/components/schemas/full-repository/open_issues`. - public var openIssues: Swift.Int - /// - Remark: Generated from `#/components/schemas/full-repository/watchers`. - public var watchers: Swift.Int - /// Whether anonymous git access is allowed. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/anonymous_access_enabled`. - public var anonymousAccessEnabled: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/full-repository/code_of_conduct`. - public var codeOfConduct: Components.Schemas.CodeOfConductSimple? - /// - Remark: Generated from `#/components/schemas/full-repository/security_and_analysis`. - public var securityAndAnalysis: Components.Schemas.SecurityAndAnalysis? - /// The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/custom_properties`. - public struct CustomPropertiesPayload: Codable, Hashable, Sendable { - /// A container of undocumented properties. - public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer - /// Creates a new `CustomPropertiesPayload`. - /// - /// - Parameters: - /// - additionalProperties: A container of undocumented properties. - public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { - self.additionalProperties = additionalProperties - } - public init(from decoder: any Decoder) throws { - additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) - } - public func encode(to encoder: any Encoder) throws { - try encoder.encodeAdditionalProperties(additionalProperties) - } - } - /// The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. - /// - /// - Remark: Generated from `#/components/schemas/full-repository/custom_properties`. - public var customProperties: Components.Schemas.FullRepository.CustomPropertiesPayload? - /// Creates a new `FullRepository`. - /// - /// - Parameters: - /// - id: - /// - nodeId: - /// - name: - /// - fullName: - /// - owner: - /// - _private: - /// - htmlUrl: - /// - description: - /// - fork: - /// - url: - /// - archiveUrl: - /// - assigneesUrl: - /// - blobsUrl: - /// - branchesUrl: - /// - collaboratorsUrl: - /// - commentsUrl: - /// - commitsUrl: - /// - compareUrl: - /// - contentsUrl: - /// - contributorsUrl: - /// - deploymentsUrl: - /// - downloadsUrl: - /// - eventsUrl: - /// - forksUrl: - /// - gitCommitsUrl: - /// - gitRefsUrl: - /// - gitTagsUrl: - /// - gitUrl: - /// - issueCommentUrl: - /// - issueEventsUrl: - /// - issuesUrl: - /// - keysUrl: - /// - labelsUrl: - /// - languagesUrl: - /// - mergesUrl: - /// - milestonesUrl: - /// - notificationsUrl: - /// - pullsUrl: - /// - releasesUrl: - /// - sshUrl: - /// - stargazersUrl: - /// - statusesUrl: - /// - subscribersUrl: - /// - subscriptionUrl: - /// - tagsUrl: - /// - teamsUrl: - /// - treesUrl: - /// - cloneUrl: - /// - mirrorUrl: - /// - hooksUrl: - /// - svnUrl: - /// - homepage: - /// - language: - /// - forksCount: - /// - stargazersCount: - /// - watchersCount: - /// - size: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - /// - defaultBranch: - /// - openIssuesCount: - /// - isTemplate: - /// - topics: - /// - hasIssues: - /// - hasProjects: - /// - hasWiki: - /// - hasPages: - /// - hasDownloads: - /// - hasDiscussions: - /// - archived: - /// - disabled: Returns whether or not this repository disabled. - /// - visibility: The repository visibility: public, private, or internal. - /// - pushedAt: - /// - createdAt: - /// - updatedAt: - /// - permissions: - /// - allowRebaseMerge: - /// - templateRepository: - /// - tempCloneToken: - /// - allowSquashMerge: - /// - allowAutoMerge: - /// - deleteBranchOnMerge: - /// - allowMergeCommit: - /// - allowUpdateBranch: - /// - useSquashPrTitleAsDefault: - /// - squashMergeCommitTitle: The default value for a squash merge commit title: - /// - squashMergeCommitMessage: The default value for a squash merge commit message: - /// - mergeCommitTitle: The default value for a merge commit title. - /// - mergeCommitMessage: The default value for a merge commit message. - /// - allowForking: - /// - webCommitSignoffRequired: - /// - subscribersCount: - /// - networkCount: - /// - license: - /// - organization: - /// - parent: - /// - source: - /// - forks: - /// - masterBranch: - /// - openIssues: - /// - watchers: - /// - anonymousAccessEnabled: Whether anonymous git access is allowed. - /// - codeOfConduct: - /// - securityAndAnalysis: - /// - customProperties: The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. - public init( - id: Swift.Int64, - nodeId: Swift.String, - name: Swift.String, - fullName: Swift.String, - owner: Components.Schemas.SimpleUser, - _private: Swift.Bool, - htmlUrl: Swift.String, - description: Swift.String? = nil, - fork: Swift.Bool, - url: Swift.String, - archiveUrl: Swift.String, - assigneesUrl: Swift.String, - blobsUrl: Swift.String, - branchesUrl: Swift.String, - collaboratorsUrl: Swift.String, - commentsUrl: Swift.String, - commitsUrl: Swift.String, - compareUrl: Swift.String, - contentsUrl: Swift.String, - contributorsUrl: Swift.String, - deploymentsUrl: Swift.String, - downloadsUrl: Swift.String, - eventsUrl: Swift.String, - forksUrl: Swift.String, - gitCommitsUrl: Swift.String, - gitRefsUrl: Swift.String, - gitTagsUrl: Swift.String, - gitUrl: Swift.String, - issueCommentUrl: Swift.String, - issueEventsUrl: Swift.String, - issuesUrl: Swift.String, - keysUrl: Swift.String, - labelsUrl: Swift.String, - languagesUrl: Swift.String, - mergesUrl: Swift.String, - milestonesUrl: Swift.String, - notificationsUrl: Swift.String, - pullsUrl: Swift.String, - releasesUrl: Swift.String, - sshUrl: Swift.String, - stargazersUrl: Swift.String, - statusesUrl: Swift.String, - subscribersUrl: Swift.String, - subscriptionUrl: Swift.String, - tagsUrl: Swift.String, - teamsUrl: Swift.String, - treesUrl: Swift.String, - cloneUrl: Swift.String, - mirrorUrl: Swift.String? = nil, - hooksUrl: Swift.String, - svnUrl: Swift.String, - homepage: Swift.String? = nil, - language: Swift.String? = nil, - forksCount: Swift.Int, - stargazersCount: Swift.Int, - watchersCount: Swift.Int, - size: Swift.Int, - defaultBranch: Swift.String, - openIssuesCount: Swift.Int, - isTemplate: Swift.Bool? = nil, - topics: [Swift.String]? = nil, - hasIssues: Swift.Bool, - hasProjects: Swift.Bool, - hasWiki: Swift.Bool, - hasPages: Swift.Bool, - hasDownloads: Swift.Bool? = nil, - hasDiscussions: Swift.Bool, - archived: Swift.Bool, - disabled: Swift.Bool, - visibility: Swift.String? = nil, - pushedAt: Foundation.Date, - createdAt: Foundation.Date, - updatedAt: Foundation.Date, - permissions: Components.Schemas.FullRepository.PermissionsPayload? = nil, - allowRebaseMerge: Swift.Bool? = nil, - templateRepository: Components.Schemas.NullableRepository? = nil, - tempCloneToken: Swift.String? = nil, - allowSquashMerge: Swift.Bool? = nil, - allowAutoMerge: Swift.Bool? = nil, - deleteBranchOnMerge: Swift.Bool? = nil, - allowMergeCommit: Swift.Bool? = nil, - allowUpdateBranch: Swift.Bool? = nil, - useSquashPrTitleAsDefault: Swift.Bool? = nil, - squashMergeCommitTitle: Components.Schemas.FullRepository.SquashMergeCommitTitlePayload? = nil, - squashMergeCommitMessage: Components.Schemas.FullRepository.SquashMergeCommitMessagePayload? = nil, - mergeCommitTitle: Components.Schemas.FullRepository.MergeCommitTitlePayload? = nil, - mergeCommitMessage: Components.Schemas.FullRepository.MergeCommitMessagePayload? = nil, - allowForking: Swift.Bool? = nil, - webCommitSignoffRequired: Swift.Bool? = nil, - subscribersCount: Swift.Int, - networkCount: Swift.Int, - license: Components.Schemas.NullableLicenseSimple? = nil, - organization: Components.Schemas.NullableSimpleUser? = nil, - parent: Components.Schemas.Repository? = nil, - source: Components.Schemas.Repository? = nil, - forks: Swift.Int, - masterBranch: Swift.String? = nil, - openIssues: Swift.Int, - watchers: Swift.Int, - anonymousAccessEnabled: Swift.Bool? = nil, - codeOfConduct: Components.Schemas.CodeOfConductSimple? = nil, - securityAndAnalysis: Components.Schemas.SecurityAndAnalysis? = nil, - customProperties: Components.Schemas.FullRepository.CustomPropertiesPayload? = nil - ) { - self.id = id - self.nodeId = nodeId - self.name = name - self.fullName = fullName - self.owner = owner - self._private = _private - self.htmlUrl = htmlUrl - self.description = description - self.fork = fork - self.url = url - self.archiveUrl = archiveUrl - self.assigneesUrl = assigneesUrl - self.blobsUrl = blobsUrl - self.branchesUrl = branchesUrl - self.collaboratorsUrl = collaboratorsUrl - self.commentsUrl = commentsUrl - self.commitsUrl = commitsUrl - self.compareUrl = compareUrl - self.contentsUrl = contentsUrl - self.contributorsUrl = contributorsUrl - self.deploymentsUrl = deploymentsUrl - self.downloadsUrl = downloadsUrl - self.eventsUrl = eventsUrl - self.forksUrl = forksUrl - self.gitCommitsUrl = gitCommitsUrl - self.gitRefsUrl = gitRefsUrl - self.gitTagsUrl = gitTagsUrl - self.gitUrl = gitUrl - self.issueCommentUrl = issueCommentUrl - self.issueEventsUrl = issueEventsUrl - self.issuesUrl = issuesUrl - self.keysUrl = keysUrl - self.labelsUrl = labelsUrl - self.languagesUrl = languagesUrl - self.mergesUrl = mergesUrl - self.milestonesUrl = milestonesUrl - self.notificationsUrl = notificationsUrl - self.pullsUrl = pullsUrl - self.releasesUrl = releasesUrl - self.sshUrl = sshUrl - self.stargazersUrl = stargazersUrl - self.statusesUrl = statusesUrl - self.subscribersUrl = subscribersUrl - self.subscriptionUrl = subscriptionUrl - self.tagsUrl = tagsUrl - self.teamsUrl = teamsUrl - self.treesUrl = treesUrl - self.cloneUrl = cloneUrl - self.mirrorUrl = mirrorUrl - self.hooksUrl = hooksUrl - self.svnUrl = svnUrl - self.homepage = homepage - self.language = language - self.forksCount = forksCount - self.stargazersCount = stargazersCount - self.watchersCount = watchersCount - self.size = size - self.defaultBranch = defaultBranch - self.openIssuesCount = openIssuesCount - self.isTemplate = isTemplate - self.topics = topics - self.hasIssues = hasIssues - self.hasProjects = hasProjects - self.hasWiki = hasWiki - self.hasPages = hasPages - self.hasDownloads = hasDownloads - self.hasDiscussions = hasDiscussions - self.archived = archived - self.disabled = disabled - self.visibility = visibility - self.pushedAt = pushedAt - self.createdAt = createdAt - self.updatedAt = updatedAt - self.permissions = permissions - self.allowRebaseMerge = allowRebaseMerge - self.templateRepository = templateRepository - self.tempCloneToken = tempCloneToken - self.allowSquashMerge = allowSquashMerge - self.allowAutoMerge = allowAutoMerge - self.deleteBranchOnMerge = deleteBranchOnMerge - self.allowMergeCommit = allowMergeCommit - self.allowUpdateBranch = allowUpdateBranch - self.useSquashPrTitleAsDefault = useSquashPrTitleAsDefault - self.squashMergeCommitTitle = squashMergeCommitTitle - self.squashMergeCommitMessage = squashMergeCommitMessage - self.mergeCommitTitle = mergeCommitTitle - self.mergeCommitMessage = mergeCommitMessage - self.allowForking = allowForking - self.webCommitSignoffRequired = webCommitSignoffRequired - self.subscribersCount = subscribersCount - self.networkCount = networkCount - self.license = license - self.organization = organization - self.parent = parent - self.source = source - self.forks = forks - self.masterBranch = masterBranch - self.openIssues = openIssues - self.watchers = watchers - self.anonymousAccessEnabled = anonymousAccessEnabled - self.codeOfConduct = codeOfConduct - self.securityAndAnalysis = securityAndAnalysis - self.customProperties = customProperties - } - public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" - case name - case fullName = "full_name" - case owner - case _private = "private" - case htmlUrl = "html_url" - case description - case fork - case url - case archiveUrl = "archive_url" - case assigneesUrl = "assignees_url" - case blobsUrl = "blobs_url" - case branchesUrl = "branches_url" - case collaboratorsUrl = "collaborators_url" - case commentsUrl = "comments_url" - case commitsUrl = "commits_url" - case compareUrl = "compare_url" - case contentsUrl = "contents_url" - case contributorsUrl = "contributors_url" - case deploymentsUrl = "deployments_url" - case downloadsUrl = "downloads_url" - case eventsUrl = "events_url" - case forksUrl = "forks_url" - case gitCommitsUrl = "git_commits_url" - case gitRefsUrl = "git_refs_url" - case gitTagsUrl = "git_tags_url" - case gitUrl = "git_url" - case issueCommentUrl = "issue_comment_url" - case issueEventsUrl = "issue_events_url" - case issuesUrl = "issues_url" - case keysUrl = "keys_url" - case labelsUrl = "labels_url" - case languagesUrl = "languages_url" - case mergesUrl = "merges_url" - case milestonesUrl = "milestones_url" - case notificationsUrl = "notifications_url" - case pullsUrl = "pulls_url" - case releasesUrl = "releases_url" - case sshUrl = "ssh_url" - case stargazersUrl = "stargazers_url" - case statusesUrl = "statuses_url" - case subscribersUrl = "subscribers_url" - case subscriptionUrl = "subscription_url" - case tagsUrl = "tags_url" - case teamsUrl = "teams_url" - case treesUrl = "trees_url" - case cloneUrl = "clone_url" - case mirrorUrl = "mirror_url" - case hooksUrl = "hooks_url" - case svnUrl = "svn_url" - case homepage - case language - case forksCount = "forks_count" - case stargazersCount = "stargazers_count" - case watchersCount = "watchers_count" - case size - case defaultBranch = "default_branch" - case openIssuesCount = "open_issues_count" - case isTemplate = "is_template" - case topics - case hasIssues = "has_issues" - case hasProjects = "has_projects" - case hasWiki = "has_wiki" - case hasPages = "has_pages" - case hasDownloads = "has_downloads" - case hasDiscussions = "has_discussions" - case archived - case disabled - case visibility - case pushedAt = "pushed_at" - case createdAt = "created_at" - case updatedAt = "updated_at" - case permissions - case allowRebaseMerge = "allow_rebase_merge" - case templateRepository = "template_repository" - case tempCloneToken = "temp_clone_token" - case allowSquashMerge = "allow_squash_merge" - case allowAutoMerge = "allow_auto_merge" - case deleteBranchOnMerge = "delete_branch_on_merge" - case allowMergeCommit = "allow_merge_commit" - case allowUpdateBranch = "allow_update_branch" - case useSquashPrTitleAsDefault = "use_squash_pr_title_as_default" - case squashMergeCommitTitle = "squash_merge_commit_title" - case squashMergeCommitMessage = "squash_merge_commit_message" - case mergeCommitTitle = "merge_commit_title" - case mergeCommitMessage = "merge_commit_message" - case allowForking = "allow_forking" - case webCommitSignoffRequired = "web_commit_signoff_required" - case subscribersCount = "subscribers_count" - case networkCount = "network_count" - case license - case organization - case parent - case source - case forks - case masterBranch = "master_branch" - case openIssues = "open_issues" - case watchers - case anonymousAccessEnabled = "anonymous_access_enabled" - case codeOfConduct = "code_of_conduct" - case securityAndAnalysis = "security_and_analysis" - case customProperties = "custom_properties" - } - } - /// The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-enforcement`. - @frozen public enum RepositoryRuleEnforcement: String, Codable, Hashable, Sendable, CaseIterable { - case disabled = "disabled" - case active = "active" - case evaluate = "evaluate" - } - /// An actor that can bypass rules in a ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor`. - public struct RepositoryRulesetBypassActor: Codable, Hashable, Sendable { - /// The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_id`. - public var actorId: Swift.Int? - /// The type of actor that can bypass a ruleset. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_type`. - @frozen public enum ActorTypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case integration = "Integration" - case organizationAdmin = "OrganizationAdmin" - case repositoryRole = "RepositoryRole" - case team = "Team" - case deployKey = "DeployKey" - } - /// The type of actor that can bypass a ruleset. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_type`. - public var actorType: Components.Schemas.RepositoryRulesetBypassActor.ActorTypePayload - /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/bypass_mode`. - @frozen public enum BypassModePayload: String, Codable, Hashable, Sendable, CaseIterable { - case always = "always" - case pullRequest = "pull_request" - } - /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/bypass_mode`. - public var bypassMode: Components.Schemas.RepositoryRulesetBypassActor.BypassModePayload? - /// Creates a new `RepositoryRulesetBypassActor`. - /// - /// - Parameters: - /// - actorId: The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. - /// - actorType: The type of actor that can bypass a ruleset. - /// - bypassMode: When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. - public init( - actorId: Swift.Int? = nil, - actorType: Components.Schemas.RepositoryRulesetBypassActor.ActorTypePayload, - bypassMode: Components.Schemas.RepositoryRulesetBypassActor.BypassModePayload? = nil - ) { - self.actorId = actorId - self.actorType = actorType - self.bypassMode = bypassMode - } - public enum CodingKeys: String, CodingKey { - case actorId = "actor_id" - case actorType = "actor_type" - case bypassMode = "bypass_mode" - } - } - /// Parameters for a repository ruleset ref name condition - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions`. - public struct RepositoryRulesetConditions: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name`. - public struct RefNamePayload: Codable, Hashable, Sendable { - /// Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name/include`. - public var include: [Swift.String]? - /// Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name/exclude`. - public var exclude: [Swift.String]? - /// Creates a new `RefNamePayload`. - /// - /// - Parameters: - /// - include: Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. - /// - exclude: Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. - public init( - include: [Swift.String]? = nil, - exclude: [Swift.String]? = nil - ) { - self.include = include - self.exclude = exclude - } - public enum CodingKeys: String, CodingKey { - case include - case exclude - } - } - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name`. - public var refName: Components.Schemas.RepositoryRulesetConditions.RefNamePayload? - /// Creates a new `RepositoryRulesetConditions`. - /// - /// - Parameters: - /// - refName: - public init(refName: Components.Schemas.RepositoryRulesetConditions.RefNamePayload? = nil) { - self.refName = refName - } - public enum CodingKeys: String, CodingKey { - case refName = "ref_name" - } - } - /// Parameters for a repository name condition - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target`. - public struct RepositoryRulesetConditionsRepositoryNameTarget: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name`. - public struct RepositoryNamePayload: Codable, Hashable, Sendable { - /// Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/include`. - public var include: [Swift.String]? - /// Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/exclude`. - public var exclude: [Swift.String]? - /// Whether renaming of target repositories is prevented. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/protected`. - public var protected: Swift.Bool? - /// Creates a new `RepositoryNamePayload`. - /// - /// - Parameters: - /// - include: Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. - /// - exclude: Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. - /// - protected: Whether renaming of target repositories is prevented. - public init( - include: [Swift.String]? = nil, - exclude: [Swift.String]? = nil, - protected: Swift.Bool? = nil - ) { - self.include = include - self.exclude = exclude - self.protected = protected - } - public enum CodingKeys: String, CodingKey { - case include - case exclude - case protected - } - } - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name`. - public var repositoryName: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget.RepositoryNamePayload - /// Creates a new `RepositoryRulesetConditionsRepositoryNameTarget`. - /// - /// - Parameters: - /// - repositoryName: - public init(repositoryName: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget.RepositoryNamePayload) { - self.repositoryName = repositoryName - } - public enum CodingKeys: String, CodingKey { - case repositoryName = "repository_name" - } - } - /// Parameters for a repository ID condition - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target`. - public struct RepositoryRulesetConditionsRepositoryIdTarget: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id`. - public struct RepositoryIdPayload: Codable, Hashable, Sendable { - /// The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id/repository_ids`. - public var repositoryIds: [Swift.Int]? - /// Creates a new `RepositoryIdPayload`. - /// - /// - Parameters: - /// - repositoryIds: The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. - public init(repositoryIds: [Swift.Int]? = nil) { - self.repositoryIds = repositoryIds - } - public enum CodingKeys: String, CodingKey { - case repositoryIds = "repository_ids" - } - } - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id`. - public var repositoryId: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget.RepositoryIdPayload - /// Creates a new `RepositoryRulesetConditionsRepositoryIdTarget`. - /// - /// - Parameters: - /// - repositoryId: - public init(repositoryId: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget.RepositoryIdPayload) { - self.repositoryId = repositoryId - } - public enum CodingKeys: String, CodingKey { - case repositoryId = "repository_id" - } - } - /// Parameters for a targeting a repository property - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec`. - public struct RepositoryRulesetConditionsRepositoryPropertySpec: Codable, Hashable, Sendable { - /// The name of the repository property to target - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/name`. - public var name: Swift.String - /// The values to match for the repository property - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/property_values`. - public var propertyValues: [Swift.String] - /// The source of the repository property. Defaults to 'custom' if not specified. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/source`. - @frozen public enum SourcePayload: String, Codable, Hashable, Sendable, CaseIterable { - case custom = "custom" - case system = "system" - } - /// The source of the repository property. Defaults to 'custom' if not specified. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/source`. - public var source: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec.SourcePayload? - /// Creates a new `RepositoryRulesetConditionsRepositoryPropertySpec`. - /// - /// - Parameters: - /// - name: The name of the repository property to target - /// - propertyValues: The values to match for the repository property - /// - source: The source of the repository property. Defaults to 'custom' if not specified. - public init( - name: Swift.String, - propertyValues: [Swift.String], - source: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec.SourcePayload? = nil - ) { - self.name = name - self.propertyValues = propertyValues - self.source = source - } - public enum CodingKeys: String, CodingKey { - case name - case propertyValues = "property_values" - case source - } - } - /// Parameters for a repository property condition - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target`. - public struct RepositoryRulesetConditionsRepositoryPropertyTarget: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property`. - public struct RepositoryPropertyPayload: Codable, Hashable, Sendable { - /// The repository properties and values to include. All of these properties must match for the condition to pass. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property/include`. - public var include: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? - /// The repository properties and values to exclude. The condition will not pass if any of these properties match. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property/exclude`. - public var exclude: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? - /// Creates a new `RepositoryPropertyPayload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public typealias LabelsPayload = [Components.Schemas.PullRequestSimple.LabelsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public var labels: Components.Schemas.PullRequestSimple.LabelsPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/milestone`. + public var milestone: Components.Schemas.NullableMilestone? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/active_lock_reason`. + public var activeLockReason: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/closed_at`. + public var closedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merged_at`. + public var mergedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merge_commit_sha`. + public var mergeCommitSha: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignee`. + public var assignee: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignees`. + public var assignees: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_reviewers`. + public var requestedReviewers: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_teams`. + public var requestedTeams: [Components.Schemas.Team]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public struct HeadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `HeadPayload`. /// /// - Parameters: - /// - include: The repository properties and values to include. All of these properties must match for the condition to pass. - /// - exclude: The repository properties and values to exclude. The condition will not pass if any of these properties match. + /// - label: + /// - ref: + /// - repo: + /// - sha: + /// - user: public init( - include: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? = nil, - exclude: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? = nil + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, + sha: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil ) { - self.include = include - self.exclude = exclude + self.label = label + self.ref = ref + self.repo = repo + self.sha = sha + self.user = user } public enum CodingKeys: String, CodingKey { - case include - case exclude - } - } - /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property`. - public var repositoryProperty: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget.RepositoryPropertyPayload - /// Creates a new `RepositoryRulesetConditionsRepositoryPropertyTarget`. - /// - /// - Parameters: - /// - repositoryProperty: - public init(repositoryProperty: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget.RepositoryPropertyPayload) { - self.repositoryProperty = repositoryProperty - } - public enum CodingKeys: String, CodingKey { - case repositoryProperty = "repository_property" - } - } - /// Conditions for an organization ruleset. - /// The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. - /// The push rulesets conditions object does not require the `ref_name` property. - /// For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions`. - @frozen public enum OrgRulesetConditions: Codable, Hashable, Sendable { - /// Conditions to target repositories by name and refs by name - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1`. - public struct Case1Payload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1/value1`. - public var value1: Components.Schemas.RepositoryRulesetConditions - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1/value2`. - public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget - /// Creates a new `Case1Payload`. - /// - /// - Parameters: - /// - value1: - /// - value2: - public init( - value1: Components.Schemas.RepositoryRulesetConditions, - value2: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget - ) { - self.value1 = value1 - self.value2 = value2 - } - public init(from decoder: any Decoder) throws { - self.value1 = try .init(from: decoder) - self.value2 = try .init(from: decoder) - } - public func encode(to encoder: any Encoder) throws { - try self.value1.encode(to: encoder) - try self.value2.encode(to: encoder) + case label + case ref + case repo + case sha + case user } } - /// Conditions to target repositories by name and refs by name - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1`. - case case1(Components.Schemas.OrgRulesetConditions.Case1Payload) - /// Conditions to target repositories by id and refs by name - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2`. - public struct Case2Payload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2/value1`. - public var value1: Components.Schemas.RepositoryRulesetConditions - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2/value2`. - public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget - /// Creates a new `Case2Payload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public var head: Components.Schemas.PullRequestSimple.HeadPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public struct BasePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `BasePayload`. /// /// - Parameters: - /// - value1: - /// - value2: + /// - label: + /// - ref: + /// - repo: + /// - sha: + /// - user: public init( - value1: Components.Schemas.RepositoryRulesetConditions, - value2: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, + sha: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil ) { - self.value1 = value1 - self.value2 = value2 - } - public init(from decoder: any Decoder) throws { - self.value1 = try .init(from: decoder) - self.value2 = try .init(from: decoder) + self.label = label + self.ref = ref + self.repo = repo + self.sha = sha + self.user = user } - public func encode(to encoder: any Encoder) throws { - try self.value1.encode(to: encoder) - try self.value2.encode(to: encoder) + public enum CodingKeys: String, CodingKey { + case label + case ref + case repo + case sha + case user } } - /// Conditions to target repositories by id and refs by name - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2`. - case case2(Components.Schemas.OrgRulesetConditions.Case2Payload) - /// Conditions to target repositories by property and refs by name - /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3`. - public struct Case3Payload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3/value1`. - public var value1: Components.Schemas.RepositoryRulesetConditions - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3/value2`. - public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget - /// Creates a new `Case3Payload`. + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public var base: Components.Schemas.PullRequestSimple.BasePayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public struct _LinksPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/comments`. + public var comments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/commits`. + public var commits: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/statuses`. + public var statuses: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/html`. + public var html: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/issue`. + public var issue: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comments`. + public var reviewComments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comment`. + public var reviewComment: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/self`. + public var _self: Components.Schemas.Link + /// Creates a new `_LinksPayload`. /// /// - Parameters: - /// - value1: - /// - value2: + /// - comments: + /// - commits: + /// - statuses: + /// - html: + /// - issue: + /// - reviewComments: + /// - reviewComment: + /// - _self: public init( - value1: Components.Schemas.RepositoryRulesetConditions, - value2: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget + comments: Components.Schemas.Link, + commits: Components.Schemas.Link, + statuses: Components.Schemas.Link, + html: Components.Schemas.Link, + issue: Components.Schemas.Link, + reviewComments: Components.Schemas.Link, + reviewComment: Components.Schemas.Link, + _self: Components.Schemas.Link ) { - self.value1 = value1 - self.value2 = value2 - } - public init(from decoder: any Decoder) throws { - self.value1 = try .init(from: decoder) - self.value2 = try .init(from: decoder) + self.comments = comments + self.commits = commits + self.statuses = statuses + self.html = html + self.issue = issue + self.reviewComments = reviewComments + self.reviewComment = reviewComment + self._self = _self } - public func encode(to encoder: any Encoder) throws { - try self.value1.encode(to: encoder) - try self.value2.encode(to: encoder) + public enum CodingKeys: String, CodingKey { + case comments + case commits + case statuses + case html + case issue + case reviewComments = "review_comments" + case reviewComment = "review_comment" + case _self = "self" } } - /// Conditions to target repositories by property and refs by name + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public var _links: Components.Schemas.PullRequestSimple._LinksPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/author_association`. + public var authorAssociation: Components.Schemas.AuthorAssociation + /// - Remark: Generated from `#/components/schemas/pull-request-simple/auto_merge`. + public var autoMerge: Components.Schemas.AutoMerge? + /// Indicates whether or not the pull request is a draft. /// - /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3`. - case case3(Components.Schemas.OrgRulesetConditions.Case3Payload) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .case1(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .case2(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .case3(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) + /// - Remark: Generated from `#/components/schemas/pull-request-simple/draft`. + public var draft: Swift.Bool? + /// Creates a new `PullRequestSimple`. + /// + /// - Parameters: + /// - url: + /// - id: + /// - nodeId: + /// - htmlUrl: + /// - diffUrl: + /// - patchUrl: + /// - issueUrl: + /// - commitsUrl: + /// - reviewCommentsUrl: + /// - reviewCommentUrl: + /// - commentsUrl: + /// - statusesUrl: + /// - number: + /// - state: + /// - locked: + /// - title: + /// - user: + /// - body: + /// - labels: + /// - milestone: + /// - activeLockReason: + /// - createdAt: + /// - updatedAt: + /// - closedAt: + /// - mergedAt: + /// - mergeCommitSha: + /// - assignee: + /// - assignees: + /// - requestedReviewers: + /// - requestedTeams: + /// - head: + /// - base: + /// - _links: + /// - authorAssociation: + /// - autoMerge: + /// - draft: Indicates whether or not the pull request is a draft. + public init( + url: Swift.String, + id: Swift.Int64, + nodeId: Swift.String, + htmlUrl: Swift.String, + diffUrl: Swift.String, + patchUrl: Swift.String, + issueUrl: Swift.String, + commitsUrl: Swift.String, + reviewCommentsUrl: Swift.String, + reviewCommentUrl: Swift.String, + commentsUrl: Swift.String, + statusesUrl: Swift.String, + number: Swift.Int, + state: Swift.String, + locked: Swift.Bool, + title: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil, + body: Swift.String? = nil, + labels: Components.Schemas.PullRequestSimple.LabelsPayload, + milestone: Components.Schemas.NullableMilestone? = nil, + activeLockReason: Swift.String? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + closedAt: Foundation.Date? = nil, + mergedAt: Foundation.Date? = nil, + mergeCommitSha: Swift.String? = nil, + assignee: Components.Schemas.NullableSimpleUser? = nil, + assignees: [Components.Schemas.SimpleUser]? = nil, + requestedReviewers: [Components.Schemas.SimpleUser]? = nil, + requestedTeams: [Components.Schemas.Team]? = nil, + head: Components.Schemas.PullRequestSimple.HeadPayload, + base: Components.Schemas.PullRequestSimple.BasePayload, + _links: Components.Schemas.PullRequestSimple._LinksPayload, + authorAssociation: Components.Schemas.AuthorAssociation, + autoMerge: Components.Schemas.AutoMerge? = nil, + draft: Swift.Bool? = nil + ) { + self.url = url + self.id = id + self.nodeId = nodeId + self.htmlUrl = htmlUrl + self.diffUrl = diffUrl + self.patchUrl = patchUrl + self.issueUrl = issueUrl + self.commitsUrl = commitsUrl + self.reviewCommentsUrl = reviewCommentsUrl + self.reviewCommentUrl = reviewCommentUrl + self.commentsUrl = commentsUrl + self.statusesUrl = statusesUrl + self.number = number + self.state = state + self.locked = locked + self.title = title + self.user = user + self.body = body + self.labels = labels + self.milestone = milestone + self.activeLockReason = activeLockReason + self.createdAt = createdAt + self.updatedAt = updatedAt + self.closedAt = closedAt + self.mergedAt = mergedAt + self.mergeCommitSha = mergeCommitSha + self.assignee = assignee + self.assignees = assignees + self.requestedReviewers = requestedReviewers + self.requestedTeams = requestedTeams + self.head = head + self.base = base + self._links = _links + self.authorAssociation = authorAssociation + self.autoMerge = autoMerge + self.draft = draft } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .case1(value): - try value.encode(to: encoder) - case let .case2(value): - try value.encode(to: encoder) - case let .case3(value): - try value.encode(to: encoder) - } + public enum CodingKeys: String, CodingKey { + case url + case id + case nodeId = "node_id" + case htmlUrl = "html_url" + case diffUrl = "diff_url" + case patchUrl = "patch_url" + case issueUrl = "issue_url" + case commitsUrl = "commits_url" + case reviewCommentsUrl = "review_comments_url" + case reviewCommentUrl = "review_comment_url" + case commentsUrl = "comments_url" + case statusesUrl = "statuses_url" + case number + case state + case locked + case title + case user + case body + case labels + case milestone + case activeLockReason = "active_lock_reason" + case createdAt = "created_at" + case updatedAt = "updated_at" + case closedAt = "closed_at" + case mergedAt = "merged_at" + case mergeCommitSha = "merge_commit_sha" + case assignee + case assignees + case requestedReviewers = "requested_reviewers" + case requestedTeams = "requested_teams" + case head + case base + case _links + case authorAssociation = "author_association" + case autoMerge = "auto_merge" + case draft } } - /// Only allow users with bypass permission to create matching refs. + /// Custom property name and associated value /// - /// - Remark: Generated from `#/components/schemas/repository-rule-creation`. - public struct RepositoryRuleCreation: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-creation/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case creation = "creation" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-creation/type`. - public var _type: Components.Schemas.RepositoryRuleCreation._TypePayload - /// Creates a new `RepositoryRuleCreation`. + /// - Remark: Generated from `#/components/schemas/custom-property-value`. + public struct CustomPropertyValue: Codable, Hashable, Sendable { + /// The name of the property /// - /// - Parameters: - /// - _type: - public init(_type: Components.Schemas.RepositoryRuleCreation._TypePayload) { - self._type = _type - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - } - } - /// Only allow users with bypass permission to update matching refs. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-update`. - public struct RepositoryRuleUpdate: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-update/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case update = "update" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-update/type`. - public var _type: Components.Schemas.RepositoryRuleUpdate._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// Branch can pull changes from its upstream repository - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters/update_allows_fetch_and_merge`. - public var updateAllowsFetchAndMerge: Swift.Bool - /// Creates a new `ParametersPayload`. - /// - /// - Parameters: - /// - updateAllowsFetchAndMerge: Branch can pull changes from its upstream repository - public init(updateAllowsFetchAndMerge: Swift.Bool) { - self.updateAllowsFetchAndMerge = updateAllowsFetchAndMerge + /// - Remark: Generated from `#/components/schemas/custom-property-value/property_name`. + public var propertyName: Swift.String + /// The value assigned to the property + /// + /// - Remark: Generated from `#/components/schemas/custom-property-value/value`. + @frozen public enum ValuePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/custom-property-value/value/case1`. + case case1(Swift.String) + /// - Remark: Generated from `#/components/schemas/custom-property-value/value/case2`. + case case2([Swift.String]) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case2(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) } - public enum CodingKeys: String, CodingKey { - case updateAllowsFetchAndMerge = "update_allows_fetch_and_merge" + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try encoder.encodeToSingleValueContainer(value) + case let .case2(value): + try encoder.encodeToSingleValueContainer(value) + } } } - /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters`. - public var parameters: Components.Schemas.RepositoryRuleUpdate.ParametersPayload? - /// Creates a new `RepositoryRuleUpdate`. + /// The value assigned to the property + /// + /// - Remark: Generated from `#/components/schemas/custom-property-value/value`. + public var value: Components.Schemas.CustomPropertyValue.ValuePayload? + /// Creates a new `CustomPropertyValue`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - propertyName: The name of the property + /// - value: The value assigned to the property public init( - _type: Components.Schemas.RepositoryRuleUpdate._TypePayload, - parameters: Components.Schemas.RepositoryRuleUpdate.ParametersPayload? = nil + propertyName: Swift.String, + value: Components.Schemas.CustomPropertyValue.ValuePayload? = nil ) { - self._type = _type - self.parameters = parameters + self.propertyName = propertyName + self.value = value } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case propertyName = "property_name" + case value } } - /// Only allow users with bypass permissions to delete matching refs. + /// A repository on GitHub. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-deletion`. - public struct RepositoryRuleDeletion: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-deletion/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case deletion = "deletion" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-deletion/type`. - public var _type: Components.Schemas.RepositoryRuleDeletion._TypePayload - /// Creates a new `RepositoryRuleDeletion`. + /// - Remark: Generated from `#/components/schemas/nullable-repository`. + public struct NullableRepository: Codable, Hashable, Sendable { + /// Unique identifier of the repository /// - /// - Parameters: - /// - _type: - public init(_type: Components.Schemas.RepositoryRuleDeletion._TypePayload) { - self._type = _type - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - } - } - /// Prevent merge commits from being pushed to matching refs. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history`. - public struct RepositoryRuleRequiredLinearHistory: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case requiredLinearHistory = "required_linear_history" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history/type`. - public var _type: Components.Schemas.RepositoryRuleRequiredLinearHistory._TypePayload - /// Creates a new `RepositoryRuleRequiredLinearHistory`. + /// - Remark: Generated from `#/components/schemas/nullable-repository/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/nullable-repository/node_id`. + public var nodeId: Swift.String + /// The name of the repository. /// - /// - Parameters: - /// - _type: - public init(_type: Components.Schemas.RepositoryRuleRequiredLinearHistory._TypePayload) { - self._type = _type - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - } - } - /// Merges must be performed via a merge queue. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue`. - public struct RepositoryRuleMergeQueue: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case mergeQueue = "merge_queue" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/type`. - public var _type: Components.Schemas.RepositoryRuleMergeQueue._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/check_response_timeout_minutes`. - public var checkResponseTimeoutMinutes: Swift.Int - /// When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/grouping_strategy`. - @frozen public enum GroupingStrategyPayload: String, Codable, Hashable, Sendable, CaseIterable { - case allgreen = "ALLGREEN" - case headgreen = "HEADGREEN" - } - /// When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/grouping_strategy`. - public var groupingStrategy: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.GroupingStrategyPayload - /// Limit the number of queued pull requests requesting checks and workflow runs at the same time. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/max_entries_to_build`. - public var maxEntriesToBuild: Swift.Int - /// The maximum number of PRs that will be merged together in a group. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/max_entries_to_merge`. - public var maxEntriesToMerge: Swift.Int - /// Method to use when merging changes from queued pull requests. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/merge_method`. - @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { - case merge = "MERGE" - case squash = "SQUASH" - case rebase = "REBASE" - } - /// Method to use when merging changes from queued pull requests. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/merge_method`. - public var mergeMethod: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.MergeMethodPayload - /// The minimum number of PRs that will be merged together in a group. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/min_entries_to_merge`. - public var minEntriesToMerge: Swift.Int - /// The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/min_entries_to_merge_wait_minutes`. - public var minEntriesToMergeWaitMinutes: Swift.Int - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/nullable-repository/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/full_name`. + public var fullName: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/license`. + public var license: Components.Schemas.NullableLicenseSimple? + /// - Remark: Generated from `#/components/schemas/nullable-repository/forks`. + public var forks: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/admin`. + public var admin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/pull`. + public var pull: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/triage`. + public var triage: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions/maintain`. + public var maintain: Swift.Bool? + /// Creates a new `PermissionsPayload`. /// /// - Parameters: - /// - checkResponseTimeoutMinutes: Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed - /// - groupingStrategy: When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. - /// - maxEntriesToBuild: Limit the number of queued pull requests requesting checks and workflow runs at the same time. - /// - maxEntriesToMerge: The maximum number of PRs that will be merged together in a group. - /// - mergeMethod: Method to use when merging changes from queued pull requests. - /// - minEntriesToMerge: The minimum number of PRs that will be merged together in a group. - /// - minEntriesToMergeWaitMinutes: The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. + /// - admin: + /// - pull: + /// - triage: + /// - push: + /// - maintain: public init( - checkResponseTimeoutMinutes: Swift.Int, - groupingStrategy: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.GroupingStrategyPayload, - maxEntriesToBuild: Swift.Int, - maxEntriesToMerge: Swift.Int, - mergeMethod: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.MergeMethodPayload, - minEntriesToMerge: Swift.Int, - minEntriesToMergeWaitMinutes: Swift.Int + admin: Swift.Bool, + pull: Swift.Bool, + triage: Swift.Bool? = nil, + push: Swift.Bool, + maintain: Swift.Bool? = nil ) { - self.checkResponseTimeoutMinutes = checkResponseTimeoutMinutes - self.groupingStrategy = groupingStrategy - self.maxEntriesToBuild = maxEntriesToBuild - self.maxEntriesToMerge = maxEntriesToMerge - self.mergeMethod = mergeMethod - self.minEntriesToMerge = minEntriesToMerge - self.minEntriesToMergeWaitMinutes = minEntriesToMergeWaitMinutes + self.admin = admin + self.pull = pull + self.triage = triage + self.push = push + self.maintain = maintain } public enum CodingKeys: String, CodingKey { - case checkResponseTimeoutMinutes = "check_response_timeout_minutes" - case groupingStrategy = "grouping_strategy" - case maxEntriesToBuild = "max_entries_to_build" - case maxEntriesToMerge = "max_entries_to_merge" - case mergeMethod = "merge_method" - case minEntriesToMerge = "min_entries_to_merge" - case minEntriesToMergeWaitMinutes = "min_entries_to_merge_wait_minutes" + case admin + case pull + case triage + case push + case maintain } } - /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters`. - public var parameters: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload? - /// Creates a new `RepositoryRuleMergeQueue`. + /// - Remark: Generated from `#/components/schemas/nullable-repository/permissions`. + public var permissions: Components.Schemas.NullableRepository.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/nullable-repository/owner`. + public var owner: Components.Schemas.SimpleUser + /// Whether the repository is private or public. /// - /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleMergeQueue._TypePayload, - parameters: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - Remark: Generated from `#/components/schemas/nullable-repository/private`. + public var _private: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/fork`. + public var fork: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/archive_url`. + public var archiveUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/assignees_url`. + public var assigneesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/blobs_url`. + public var blobsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/branches_url`. + public var branchesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/collaborators_url`. + public var collaboratorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/compare_url`. + public var compareUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/contents_url`. + public var contentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/contributors_url`. + public var contributorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/deployments_url`. + public var deploymentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/downloads_url`. + public var downloadsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/forks_url`. + public var forksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/git_commits_url`. + public var gitCommitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/git_refs_url`. + public var gitRefsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/git_tags_url`. + public var gitTagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/git_url`. + public var gitUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/issue_comment_url`. + public var issueCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/issue_events_url`. + public var issueEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/issues_url`. + public var issuesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/keys_url`. + public var keysUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/labels_url`. + public var labelsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/languages_url`. + public var languagesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/merges_url`. + public var mergesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/milestones_url`. + public var milestonesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/notifications_url`. + public var notificationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/pulls_url`. + public var pullsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/releases_url`. + public var releasesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/ssh_url`. + public var sshUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/stargazers_url`. + public var stargazersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/subscribers_url`. + public var subscribersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/subscription_url`. + public var subscriptionUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/tags_url`. + public var tagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/teams_url`. + public var teamsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/trees_url`. + public var treesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/clone_url`. + public var cloneUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/mirror_url`. + public var mirrorUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/hooks_url`. + public var hooksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/svn_url`. + public var svnUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/homepage`. + public var homepage: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/language`. + public var language: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/forks_count`. + public var forksCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-repository/stargazers_count`. + public var stargazersCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-repository/watchers_count`. + public var watchersCount: Swift.Int + /// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/size`. + public var size: Swift.Int + /// The default branch of the repository. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/default_branch`. + public var defaultBranch: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-repository/open_issues_count`. + public var openIssuesCount: Swift.Int + /// Whether this repository acts as a template that can be used to generate new repositories. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/is_template`. + public var isTemplate: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-repository/topics`. + public var topics: [Swift.String]? + /// Whether issues are enabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_issues`. + public var hasIssues: Swift.Bool + /// Whether projects are enabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_projects`. + public var hasProjects: Swift.Bool + /// Whether the wiki is enabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_wiki`. + public var hasWiki: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_pages`. + public var hasPages: Swift.Bool + /// Whether downloads are enabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_downloads`. + @available(*, deprecated) + public var hasDownloads: Swift.Bool + /// Whether discussions are enabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/has_discussions`. + public var hasDiscussions: Swift.Bool? + /// Whether the repository is archived. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/archived`. + public var archived: Swift.Bool + /// Returns whether or not this repository disabled. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/disabled`. + public var disabled: Swift.Bool + /// The repository visibility: public, private, or internal. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/visibility`. + public var visibility: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/pushed_at`. + public var pushedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/nullable-repository/created_at`. + public var createdAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/nullable-repository/updated_at`. + public var updatedAt: Foundation.Date? + /// Whether to allow rebase merges for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_rebase_merge`. + public var allowRebaseMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-repository/temp_clone_token`. + public var tempCloneToken: Swift.String? + /// Whether to allow squash merges for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_squash_merge`. + public var allowSquashMerge: Swift.Bool? + /// Whether to allow Auto-merge to be used on pull requests. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_auto_merge`. + public var allowAutoMerge: Swift.Bool? + /// Whether to delete head branches when pull requests are merged + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/delete_branch_on_merge`. + public var deleteBranchOnMerge: Swift.Bool? + /// Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_update_branch`. + public var allowUpdateBranch: Swift.Bool? + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/use_squash_pr_title_as_default`. + @available(*, deprecated) + public var useSquashPrTitleAsDefault: Swift.Bool? + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_title`. + @frozen public enum SquashMergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case commitOrPrTitle = "COMMIT_OR_PR_TITLE" + } + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_title`. + public var squashMergeCommitTitle: Components.Schemas.NullableRepository.SquashMergeCommitTitlePayload? + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_message`. + @frozen public enum SquashMergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case commitMessages = "COMMIT_MESSAGES" + case blank = "BLANK" } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/squash_merge_commit_message`. + public var squashMergeCommitMessage: Components.Schemas.NullableRepository.SquashMergeCommitMessagePayload? + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_title`. + @frozen public enum MergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case mergeMessage = "MERGE_MESSAGE" } - } - /// Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments`. - public struct RepositoryRuleRequiredDeployments: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case requiredDeployments = "required_deployments" + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_title`. + public var mergeCommitTitle: Components.Schemas.NullableRepository.MergeCommitTitlePayload? + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_message`. + @frozen public enum MergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case prTitle = "PR_TITLE" + case blank = "BLANK" } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/type`. - public var _type: Components.Schemas.RepositoryRuleRequiredDeployments._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// The environments that must be successfully deployed to before branches can be merged. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters/required_deployment_environments`. - public var requiredDeploymentEnvironments: [Swift.String] - /// Creates a new `ParametersPayload`. + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/merge_commit_message`. + public var mergeCommitMessage: Components.Schemas.NullableRepository.MergeCommitMessagePayload? + /// Whether to allow merge commits for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_merge_commit`. + public var allowMergeCommit: Swift.Bool? + /// Whether to allow forking this repo + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/allow_forking`. + public var allowForking: Swift.Bool? + /// Whether to require contributors to sign off on web-based commits + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/web_commit_signoff_required`. + public var webCommitSignoffRequired: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-repository/open_issues`. + public var openIssues: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-repository/watchers`. + public var watchers: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-repository/master_branch`. + public var masterBranch: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-repository/starred_at`. + public var starredAt: Swift.String? + /// Whether anonymous git access is enabled for this repository + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/anonymous_access_enabled`. + public var anonymousAccessEnabled: Swift.Bool? + /// The status of the code search index for this repository + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status`. + public struct CodeSearchIndexStatusPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status/lexical_search_ok`. + public var lexicalSearchOk: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status/lexical_commit_sha`. + public var lexicalCommitSha: Swift.String? + /// Creates a new `CodeSearchIndexStatusPayload`. /// /// - Parameters: - /// - requiredDeploymentEnvironments: The environments that must be successfully deployed to before branches can be merged. - public init(requiredDeploymentEnvironments: [Swift.String]) { - self.requiredDeploymentEnvironments = requiredDeploymentEnvironments + /// - lexicalSearchOk: + /// - lexicalCommitSha: + public init( + lexicalSearchOk: Swift.Bool? = nil, + lexicalCommitSha: Swift.String? = nil + ) { + self.lexicalSearchOk = lexicalSearchOk + self.lexicalCommitSha = lexicalCommitSha } public enum CodingKeys: String, CodingKey { - case requiredDeploymentEnvironments = "required_deployment_environments" + case lexicalSearchOk = "lexical_search_ok" + case lexicalCommitSha = "lexical_commit_sha" } } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters`. - public var parameters: Components.Schemas.RepositoryRuleRequiredDeployments.ParametersPayload? - /// Creates a new `RepositoryRuleRequiredDeployments`. + /// The status of the code search index for this repository + /// + /// - Remark: Generated from `#/components/schemas/nullable-repository/code_search_index_status`. + public var codeSearchIndexStatus: Components.Schemas.NullableRepository.CodeSearchIndexStatusPayload? + /// Creates a new `NullableRepository`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - id: Unique identifier of the repository + /// - nodeId: + /// - name: The name of the repository. + /// - fullName: + /// - license: + /// - forks: + /// - permissions: + /// - owner: + /// - _private: Whether the repository is private or public. + /// - htmlUrl: + /// - description: + /// - fork: + /// - url: + /// - archiveUrl: + /// - assigneesUrl: + /// - blobsUrl: + /// - branchesUrl: + /// - collaboratorsUrl: + /// - commentsUrl: + /// - commitsUrl: + /// - compareUrl: + /// - contentsUrl: + /// - contributorsUrl: + /// - deploymentsUrl: + /// - downloadsUrl: + /// - eventsUrl: + /// - forksUrl: + /// - gitCommitsUrl: + /// - gitRefsUrl: + /// - gitTagsUrl: + /// - gitUrl: + /// - issueCommentUrl: + /// - issueEventsUrl: + /// - issuesUrl: + /// - keysUrl: + /// - labelsUrl: + /// - languagesUrl: + /// - mergesUrl: + /// - milestonesUrl: + /// - notificationsUrl: + /// - pullsUrl: + /// - releasesUrl: + /// - sshUrl: + /// - stargazersUrl: + /// - statusesUrl: + /// - subscribersUrl: + /// - subscriptionUrl: + /// - tagsUrl: + /// - teamsUrl: + /// - treesUrl: + /// - cloneUrl: + /// - mirrorUrl: + /// - hooksUrl: + /// - svnUrl: + /// - homepage: + /// - language: + /// - forksCount: + /// - stargazersCount: + /// - watchersCount: + /// - size: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + /// - defaultBranch: The default branch of the repository. + /// - openIssuesCount: + /// - isTemplate: Whether this repository acts as a template that can be used to generate new repositories. + /// - topics: + /// - hasIssues: Whether issues are enabled. + /// - hasProjects: Whether projects are enabled. + /// - hasWiki: Whether the wiki is enabled. + /// - hasPages: + /// - hasDownloads: Whether downloads are enabled. + /// - hasDiscussions: Whether discussions are enabled. + /// - archived: Whether the repository is archived. + /// - disabled: Returns whether or not this repository disabled. + /// - visibility: The repository visibility: public, private, or internal. + /// - pushedAt: + /// - createdAt: + /// - updatedAt: + /// - allowRebaseMerge: Whether to allow rebase merges for pull requests. + /// - tempCloneToken: + /// - allowSquashMerge: Whether to allow squash merges for pull requests. + /// - allowAutoMerge: Whether to allow Auto-merge to be used on pull requests. + /// - deleteBranchOnMerge: Whether to delete head branches when pull requests are merged + /// - allowUpdateBranch: Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + /// - useSquashPrTitleAsDefault: Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// - squashMergeCommitTitle: The default value for a squash merge commit title: + /// - squashMergeCommitMessage: The default value for a squash merge commit message: + /// - mergeCommitTitle: The default value for a merge commit title. + /// - mergeCommitMessage: The default value for a merge commit message. + /// - allowMergeCommit: Whether to allow merge commits for pull requests. + /// - allowForking: Whether to allow forking this repo + /// - webCommitSignoffRequired: Whether to require contributors to sign off on web-based commits + /// - openIssues: + /// - watchers: + /// - masterBranch: + /// - starredAt: + /// - anonymousAccessEnabled: Whether anonymous git access is enabled for this repository + /// - codeSearchIndexStatus: The status of the code search index for this repository public init( - _type: Components.Schemas.RepositoryRuleRequiredDeployments._TypePayload, - parameters: Components.Schemas.RepositoryRuleRequiredDeployments.ParametersPayload? = nil + id: Swift.Int64, + nodeId: Swift.String, + name: Swift.String, + fullName: Swift.String, + license: Components.Schemas.NullableLicenseSimple? = nil, + forks: Swift.Int, + permissions: Components.Schemas.NullableRepository.PermissionsPayload? = nil, + owner: Components.Schemas.SimpleUser, + _private: Swift.Bool, + htmlUrl: Swift.String, + description: Swift.String? = nil, + fork: Swift.Bool, + url: Swift.String, + archiveUrl: Swift.String, + assigneesUrl: Swift.String, + blobsUrl: Swift.String, + branchesUrl: Swift.String, + collaboratorsUrl: Swift.String, + commentsUrl: Swift.String, + commitsUrl: Swift.String, + compareUrl: Swift.String, + contentsUrl: Swift.String, + contributorsUrl: Swift.String, + deploymentsUrl: Swift.String, + downloadsUrl: Swift.String, + eventsUrl: Swift.String, + forksUrl: Swift.String, + gitCommitsUrl: Swift.String, + gitRefsUrl: Swift.String, + gitTagsUrl: Swift.String, + gitUrl: Swift.String, + issueCommentUrl: Swift.String, + issueEventsUrl: Swift.String, + issuesUrl: Swift.String, + keysUrl: Swift.String, + labelsUrl: Swift.String, + languagesUrl: Swift.String, + mergesUrl: Swift.String, + milestonesUrl: Swift.String, + notificationsUrl: Swift.String, + pullsUrl: Swift.String, + releasesUrl: Swift.String, + sshUrl: Swift.String, + stargazersUrl: Swift.String, + statusesUrl: Swift.String, + subscribersUrl: Swift.String, + subscriptionUrl: Swift.String, + tagsUrl: Swift.String, + teamsUrl: Swift.String, + treesUrl: Swift.String, + cloneUrl: Swift.String, + mirrorUrl: Swift.String? = nil, + hooksUrl: Swift.String, + svnUrl: Swift.String, + homepage: Swift.String? = nil, + language: Swift.String? = nil, + forksCount: Swift.Int, + stargazersCount: Swift.Int, + watchersCount: Swift.Int, + size: Swift.Int, + defaultBranch: Swift.String, + openIssuesCount: Swift.Int, + isTemplate: Swift.Bool? = nil, + topics: [Swift.String]? = nil, + hasIssues: Swift.Bool, + hasProjects: Swift.Bool, + hasWiki: Swift.Bool, + hasPages: Swift.Bool, + hasDownloads: Swift.Bool, + hasDiscussions: Swift.Bool? = nil, + archived: Swift.Bool, + disabled: Swift.Bool, + visibility: Swift.String? = nil, + pushedAt: Foundation.Date? = nil, + createdAt: Foundation.Date? = nil, + updatedAt: Foundation.Date? = nil, + allowRebaseMerge: Swift.Bool? = nil, + tempCloneToken: Swift.String? = nil, + allowSquashMerge: Swift.Bool? = nil, + allowAutoMerge: Swift.Bool? = nil, + deleteBranchOnMerge: Swift.Bool? = nil, + allowUpdateBranch: Swift.Bool? = nil, + useSquashPrTitleAsDefault: Swift.Bool? = nil, + squashMergeCommitTitle: Components.Schemas.NullableRepository.SquashMergeCommitTitlePayload? = nil, + squashMergeCommitMessage: Components.Schemas.NullableRepository.SquashMergeCommitMessagePayload? = nil, + mergeCommitTitle: Components.Schemas.NullableRepository.MergeCommitTitlePayload? = nil, + mergeCommitMessage: Components.Schemas.NullableRepository.MergeCommitMessagePayload? = nil, + allowMergeCommit: Swift.Bool? = nil, + allowForking: Swift.Bool? = nil, + webCommitSignoffRequired: Swift.Bool? = nil, + openIssues: Swift.Int, + watchers: Swift.Int, + masterBranch: Swift.String? = nil, + starredAt: Swift.String? = nil, + anonymousAccessEnabled: Swift.Bool? = nil, + codeSearchIndexStatus: Components.Schemas.NullableRepository.CodeSearchIndexStatusPayload? = nil ) { - self._type = _type - self.parameters = parameters - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters - } - } - /// Commits pushed to matching refs must have verified signatures. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures`. - public struct RepositoryRuleRequiredSignatures: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case requiredSignatures = "required_signatures" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures/type`. - public var _type: Components.Schemas.RepositoryRuleRequiredSignatures._TypePayload - /// Creates a new `RepositoryRuleRequiredSignatures`. - /// - /// - Parameters: - /// - _type: - public init(_type: Components.Schemas.RepositoryRuleRequiredSignatures._TypePayload) { - self._type = _type + self.id = id + self.nodeId = nodeId + self.name = name + self.fullName = fullName + self.license = license + self.forks = forks + self.permissions = permissions + self.owner = owner + self._private = _private + self.htmlUrl = htmlUrl + self.description = description + self.fork = fork + self.url = url + self.archiveUrl = archiveUrl + self.assigneesUrl = assigneesUrl + self.blobsUrl = blobsUrl + self.branchesUrl = branchesUrl + self.collaboratorsUrl = collaboratorsUrl + self.commentsUrl = commentsUrl + self.commitsUrl = commitsUrl + self.compareUrl = compareUrl + self.contentsUrl = contentsUrl + self.contributorsUrl = contributorsUrl + self.deploymentsUrl = deploymentsUrl + self.downloadsUrl = downloadsUrl + self.eventsUrl = eventsUrl + self.forksUrl = forksUrl + self.gitCommitsUrl = gitCommitsUrl + self.gitRefsUrl = gitRefsUrl + self.gitTagsUrl = gitTagsUrl + self.gitUrl = gitUrl + self.issueCommentUrl = issueCommentUrl + self.issueEventsUrl = issueEventsUrl + self.issuesUrl = issuesUrl + self.keysUrl = keysUrl + self.labelsUrl = labelsUrl + self.languagesUrl = languagesUrl + self.mergesUrl = mergesUrl + self.milestonesUrl = milestonesUrl + self.notificationsUrl = notificationsUrl + self.pullsUrl = pullsUrl + self.releasesUrl = releasesUrl + self.sshUrl = sshUrl + self.stargazersUrl = stargazersUrl + self.statusesUrl = statusesUrl + self.subscribersUrl = subscribersUrl + self.subscriptionUrl = subscriptionUrl + self.tagsUrl = tagsUrl + self.teamsUrl = teamsUrl + self.treesUrl = treesUrl + self.cloneUrl = cloneUrl + self.mirrorUrl = mirrorUrl + self.hooksUrl = hooksUrl + self.svnUrl = svnUrl + self.homepage = homepage + self.language = language + self.forksCount = forksCount + self.stargazersCount = stargazersCount + self.watchersCount = watchersCount + self.size = size + self.defaultBranch = defaultBranch + self.openIssuesCount = openIssuesCount + self.isTemplate = isTemplate + self.topics = topics + self.hasIssues = hasIssues + self.hasProjects = hasProjects + self.hasWiki = hasWiki + self.hasPages = hasPages + self.hasDownloads = hasDownloads + self.hasDiscussions = hasDiscussions + self.archived = archived + self.disabled = disabled + self.visibility = visibility + self.pushedAt = pushedAt + self.createdAt = createdAt + self.updatedAt = updatedAt + self.allowRebaseMerge = allowRebaseMerge + self.tempCloneToken = tempCloneToken + self.allowSquashMerge = allowSquashMerge + self.allowAutoMerge = allowAutoMerge + self.deleteBranchOnMerge = deleteBranchOnMerge + self.allowUpdateBranch = allowUpdateBranch + self.useSquashPrTitleAsDefault = useSquashPrTitleAsDefault + self.squashMergeCommitTitle = squashMergeCommitTitle + self.squashMergeCommitMessage = squashMergeCommitMessage + self.mergeCommitTitle = mergeCommitTitle + self.mergeCommitMessage = mergeCommitMessage + self.allowMergeCommit = allowMergeCommit + self.allowForking = allowForking + self.webCommitSignoffRequired = webCommitSignoffRequired + self.openIssues = openIssues + self.watchers = watchers + self.masterBranch = masterBranch + self.starredAt = starredAt + self.anonymousAccessEnabled = anonymousAccessEnabled + self.codeSearchIndexStatus = codeSearchIndexStatus } public enum CodingKeys: String, CodingKey { - case _type = "type" + case id + case nodeId = "node_id" + case name + case fullName = "full_name" + case license + case forks + case permissions + case owner + case _private = "private" + case htmlUrl = "html_url" + case description + case fork + case url + case archiveUrl = "archive_url" + case assigneesUrl = "assignees_url" + case blobsUrl = "blobs_url" + case branchesUrl = "branches_url" + case collaboratorsUrl = "collaborators_url" + case commentsUrl = "comments_url" + case commitsUrl = "commits_url" + case compareUrl = "compare_url" + case contentsUrl = "contents_url" + case contributorsUrl = "contributors_url" + case deploymentsUrl = "deployments_url" + case downloadsUrl = "downloads_url" + case eventsUrl = "events_url" + case forksUrl = "forks_url" + case gitCommitsUrl = "git_commits_url" + case gitRefsUrl = "git_refs_url" + case gitTagsUrl = "git_tags_url" + case gitUrl = "git_url" + case issueCommentUrl = "issue_comment_url" + case issueEventsUrl = "issue_events_url" + case issuesUrl = "issues_url" + case keysUrl = "keys_url" + case labelsUrl = "labels_url" + case languagesUrl = "languages_url" + case mergesUrl = "merges_url" + case milestonesUrl = "milestones_url" + case notificationsUrl = "notifications_url" + case pullsUrl = "pulls_url" + case releasesUrl = "releases_url" + case sshUrl = "ssh_url" + case stargazersUrl = "stargazers_url" + case statusesUrl = "statuses_url" + case subscribersUrl = "subscribers_url" + case subscriptionUrl = "subscription_url" + case tagsUrl = "tags_url" + case teamsUrl = "teams_url" + case treesUrl = "trees_url" + case cloneUrl = "clone_url" + case mirrorUrl = "mirror_url" + case hooksUrl = "hooks_url" + case svnUrl = "svn_url" + case homepage + case language + case forksCount = "forks_count" + case stargazersCount = "stargazers_count" + case watchersCount = "watchers_count" + case size + case defaultBranch = "default_branch" + case openIssuesCount = "open_issues_count" + case isTemplate = "is_template" + case topics + case hasIssues = "has_issues" + case hasProjects = "has_projects" + case hasWiki = "has_wiki" + case hasPages = "has_pages" + case hasDownloads = "has_downloads" + case hasDiscussions = "has_discussions" + case archived + case disabled + case visibility + case pushedAt = "pushed_at" + case createdAt = "created_at" + case updatedAt = "updated_at" + case allowRebaseMerge = "allow_rebase_merge" + case tempCloneToken = "temp_clone_token" + case allowSquashMerge = "allow_squash_merge" + case allowAutoMerge = "allow_auto_merge" + case deleteBranchOnMerge = "delete_branch_on_merge" + case allowUpdateBranch = "allow_update_branch" + case useSquashPrTitleAsDefault = "use_squash_pr_title_as_default" + case squashMergeCommitTitle = "squash_merge_commit_title" + case squashMergeCommitMessage = "squash_merge_commit_message" + case mergeCommitTitle = "merge_commit_title" + case mergeCommitMessage = "merge_commit_message" + case allowMergeCommit = "allow_merge_commit" + case allowForking = "allow_forking" + case webCommitSignoffRequired = "web_commit_signoff_required" + case openIssues = "open_issues" + case watchers + case masterBranch = "master_branch" + case starredAt = "starred_at" + case anonymousAccessEnabled = "anonymous_access_enabled" + case codeSearchIndexStatus = "code_search_index_status" } } - /// Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + /// Code of Conduct Simple /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request`. - public struct RepositoryRulePullRequest: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case pullRequest = "pull_request" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/type`. - public var _type: Components.Schemas.RepositoryRulePullRequest._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/AllowedMergeMethodsPayload`. - @frozen public enum AllowedMergeMethodsPayloadPayload: String, Codable, Hashable, Sendable, CaseIterable { - case merge = "merge" - case squash = "squash" - case rebase = "rebase" - } - /// Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/allowed_merge_methods`. - public typealias AllowedMergeMethodsPayload = [Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayloadPayload] - /// Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/allowed_merge_methods`. - public var allowedMergeMethods: Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayload? - /// Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/automatic_copilot_code_review_enabled`. - public var automaticCopilotCodeReviewEnabled: Swift.Bool? - /// New, reviewable commits pushed will dismiss previous pull request review approvals. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/dismiss_stale_reviews_on_push`. - public var dismissStaleReviewsOnPush: Swift.Bool - /// Require an approving review in pull requests that modify files that have a designated code owner. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/require_code_owner_review`. - public var requireCodeOwnerReview: Swift.Bool - /// Whether the most recent reviewable push must be approved by someone other than the person who pushed it. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/require_last_push_approval`. - public var requireLastPushApproval: Swift.Bool - /// The number of approving reviews that are required before a pull request can be merged. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/required_approving_review_count`. - public var requiredApprovingReviewCount: Swift.Int - /// All conversations on code must be resolved before a pull request can be merged. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/required_review_thread_resolution`. - public var requiredReviewThreadResolution: Swift.Bool - /// Creates a new `ParametersPayload`. - /// - /// - Parameters: - /// - allowedMergeMethods: Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. - /// - automaticCopilotCodeReviewEnabled: Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. - /// - dismissStaleReviewsOnPush: New, reviewable commits pushed will dismiss previous pull request review approvals. - /// - requireCodeOwnerReview: Require an approving review in pull requests that modify files that have a designated code owner. - /// - requireLastPushApproval: Whether the most recent reviewable push must be approved by someone other than the person who pushed it. - /// - requiredApprovingReviewCount: The number of approving reviews that are required before a pull request can be merged. - /// - requiredReviewThreadResolution: All conversations on code must be resolved before a pull request can be merged. - public init( - allowedMergeMethods: Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayload? = nil, - automaticCopilotCodeReviewEnabled: Swift.Bool? = nil, - dismissStaleReviewsOnPush: Swift.Bool, - requireCodeOwnerReview: Swift.Bool, - requireLastPushApproval: Swift.Bool, - requiredApprovingReviewCount: Swift.Int, - requiredReviewThreadResolution: Swift.Bool - ) { - self.allowedMergeMethods = allowedMergeMethods - self.automaticCopilotCodeReviewEnabled = automaticCopilotCodeReviewEnabled - self.dismissStaleReviewsOnPush = dismissStaleReviewsOnPush - self.requireCodeOwnerReview = requireCodeOwnerReview - self.requireLastPushApproval = requireLastPushApproval - self.requiredApprovingReviewCount = requiredApprovingReviewCount - self.requiredReviewThreadResolution = requiredReviewThreadResolution - } - public enum CodingKeys: String, CodingKey { - case allowedMergeMethods = "allowed_merge_methods" - case automaticCopilotCodeReviewEnabled = "automatic_copilot_code_review_enabled" - case dismissStaleReviewsOnPush = "dismiss_stale_reviews_on_push" - case requireCodeOwnerReview = "require_code_owner_review" - case requireLastPushApproval = "require_last_push_approval" - case requiredApprovingReviewCount = "required_approving_review_count" - case requiredReviewThreadResolution = "required_review_thread_resolution" - } - } - /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters`. - public var parameters: Components.Schemas.RepositoryRulePullRequest.ParametersPayload? - /// Creates a new `RepositoryRulePullRequest`. + /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple`. + public struct CodeOfConductSimple: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/key`. + public var key: Swift.String + /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/code-of-conduct-simple/html_url`. + public var htmlUrl: Swift.String? + /// Creates a new `CodeOfConductSimple`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - url: + /// - key: + /// - name: + /// - htmlUrl: public init( - _type: Components.Schemas.RepositoryRulePullRequest._TypePayload, - parameters: Components.Schemas.RepositoryRulePullRequest.ParametersPayload? = nil + url: Swift.String, + key: Swift.String, + name: Swift.String, + htmlUrl: Swift.String? = nil ) { - self._type = _type - self.parameters = parameters + self.url = url + self.key = key + self.name = name + self.htmlUrl = htmlUrl } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case url + case key + case name + case htmlUrl = "html_url" } } - /// Required status check + /// Full Repository /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration`. - public struct RepositoryRuleParamsStatusCheckConfiguration: Codable, Hashable, Sendable { - /// The status check context name that must be present on the commit. + /// - Remark: Generated from `#/components/schemas/full-repository`. + public struct FullRepository: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/full-repository/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/full-repository/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/full_name`. + public var fullName: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/owner`. + public var owner: Components.Schemas.SimpleUser + /// - Remark: Generated from `#/components/schemas/full-repository/private`. + public var _private: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/fork`. + public var fork: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/archive_url`. + public var archiveUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/assignees_url`. + public var assigneesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/blobs_url`. + public var blobsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/branches_url`. + public var branchesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/collaborators_url`. + public var collaboratorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/compare_url`. + public var compareUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/contents_url`. + public var contentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/contributors_url`. + public var contributorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/deployments_url`. + public var deploymentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/downloads_url`. + public var downloadsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/forks_url`. + public var forksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/git_commits_url`. + public var gitCommitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/git_refs_url`. + public var gitRefsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/git_tags_url`. + public var gitTagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/git_url`. + public var gitUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/issue_comment_url`. + public var issueCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/issue_events_url`. + public var issueEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/issues_url`. + public var issuesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/keys_url`. + public var keysUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/labels_url`. + public var labelsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/languages_url`. + public var languagesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/merges_url`. + public var mergesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/milestones_url`. + public var milestonesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/notifications_url`. + public var notificationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/pulls_url`. + public var pullsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/releases_url`. + public var releasesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/ssh_url`. + public var sshUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/stargazers_url`. + public var stargazersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/subscribers_url`. + public var subscribersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/subscription_url`. + public var subscriptionUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/tags_url`. + public var tagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/teams_url`. + public var teamsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/trees_url`. + public var treesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/clone_url`. + public var cloneUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/mirror_url`. + public var mirrorUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/hooks_url`. + public var hooksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/svn_url`. + public var svnUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/homepage`. + public var homepage: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/language`. + public var language: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/forks_count`. + public var forksCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/stargazers_count`. + public var stargazersCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/watchers_count`. + public var watchersCount: Swift.Int + /// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration/context`. - public var context: Swift.String - /// The optional integration ID that this status check must originate from. + /// - Remark: Generated from `#/components/schemas/full-repository/size`. + public var size: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/default_branch`. + public var defaultBranch: Swift.String + /// - Remark: Generated from `#/components/schemas/full-repository/open_issues_count`. + public var openIssuesCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/is_template`. + public var isTemplate: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/topics`. + public var topics: [Swift.String]? + /// - Remark: Generated from `#/components/schemas/full-repository/has_issues`. + public var hasIssues: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/has_projects`. + public var hasProjects: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/has_wiki`. + public var hasWiki: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/has_pages`. + public var hasPages: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/has_downloads`. + public var hasDownloads: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/has_discussions`. + public var hasDiscussions: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/archived`. + public var archived: Swift.Bool + /// Returns whether or not this repository disabled. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration/integration_id`. - public var integrationId: Swift.Int? - /// Creates a new `RepositoryRuleParamsStatusCheckConfiguration`. + /// - Remark: Generated from `#/components/schemas/full-repository/disabled`. + public var disabled: Swift.Bool + /// The repository visibility: public, private, or internal. /// - /// - Parameters: - /// - context: The status check context name that must be present on the commit. - /// - integrationId: The optional integration ID that this status check must originate from. - public init( - context: Swift.String, - integrationId: Swift.Int? = nil - ) { - self.context = context - self.integrationId = integrationId - } - public enum CodingKeys: String, CodingKey { - case context - case integrationId = "integration_id" - } - } - /// Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks`. - public struct RepositoryRuleRequiredStatusChecks: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case requiredStatusChecks = "required_status_checks" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/type`. - public var _type: Components.Schemas.RepositoryRuleRequiredStatusChecks._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// Allow repositories and branches to be created if a check would otherwise prohibit it. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/do_not_enforce_on_create`. - public var doNotEnforceOnCreate: Swift.Bool? - /// Status checks that are required. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/required_status_checks`. - public var requiredStatusChecks: [Components.Schemas.RepositoryRuleParamsStatusCheckConfiguration] - /// Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/strict_required_status_checks_policy`. - public var strictRequiredStatusChecksPolicy: Swift.Bool - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/full-repository/visibility`. + public var visibility: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/pushed_at`. + public var pushedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/full-repository/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/full-repository/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/full-repository/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/full-repository/permissions/admin`. + public var admin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/permissions/maintain`. + public var maintain: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/full-repository/permissions/triage`. + public var triage: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/permissions/pull`. + public var pull: Swift.Bool + /// Creates a new `PermissionsPayload`. /// /// - Parameters: - /// - doNotEnforceOnCreate: Allow repositories and branches to be created if a check would otherwise prohibit it. - /// - requiredStatusChecks: Status checks that are required. - /// - strictRequiredStatusChecksPolicy: Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. + /// - admin: + /// - maintain: + /// - push: + /// - triage: + /// - pull: public init( - doNotEnforceOnCreate: Swift.Bool? = nil, - requiredStatusChecks: [Components.Schemas.RepositoryRuleParamsStatusCheckConfiguration], - strictRequiredStatusChecksPolicy: Swift.Bool + admin: Swift.Bool, + maintain: Swift.Bool? = nil, + push: Swift.Bool, + triage: Swift.Bool? = nil, + pull: Swift.Bool ) { - self.doNotEnforceOnCreate = doNotEnforceOnCreate - self.requiredStatusChecks = requiredStatusChecks - self.strictRequiredStatusChecksPolicy = strictRequiredStatusChecksPolicy + self.admin = admin + self.maintain = maintain + self.push = push + self.triage = triage + self.pull = pull } public enum CodingKeys: String, CodingKey { - case doNotEnforceOnCreate = "do_not_enforce_on_create" - case requiredStatusChecks = "required_status_checks" - case strictRequiredStatusChecksPolicy = "strict_required_status_checks_policy" + case admin + case maintain + case push + case triage + case pull } } - /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters`. - public var parameters: Components.Schemas.RepositoryRuleRequiredStatusChecks.ParametersPayload? - /// Creates a new `RepositoryRuleRequiredStatusChecks`. - /// - /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleRequiredStatusChecks._TypePayload, - parameters: Components.Schemas.RepositoryRuleRequiredStatusChecks.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters - } - } - /// Prevent users with push access from force pushing to refs. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward`. - public struct RepositoryRuleNonFastForward: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case nonFastForward = "non_fast_forward" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward/type`. - public var _type: Components.Schemas.RepositoryRuleNonFastForward._TypePayload - /// Creates a new `RepositoryRuleNonFastForward`. - /// - /// - Parameters: - /// - _type: - public init(_type: Components.Schemas.RepositoryRuleNonFastForward._TypePayload) { - self._type = _type - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - } - } - /// Parameters to be used for the commit_message_pattern rule - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern`. - public struct RepositoryRuleCommitMessagePattern: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case commitMessagePattern = "commit_message_pattern" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/type`. - public var _type: Components.Schemas.RepositoryRuleCommitMessagePattern._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// How this rule will appear to users. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/name`. - public var name: Swift.String? - /// If true, the rule will fail if the pattern matches. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/negate`. - public var negate: Swift.Bool? - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/operator`. - @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { - case startsWith = "starts_with" - case endsWith = "ends_with" - case contains = "contains" - case regex = "regex" - } - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/operator`. - public var _operator: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload.OperatorPayload - /// The pattern to match with. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/pattern`. - public var pattern: Swift.String - /// Creates a new `ParametersPayload`. - /// - /// - Parameters: - /// - name: How this rule will appear to users. - /// - negate: If true, the rule will fail if the pattern matches. - /// - _operator: The operator to use for matching. - /// - pattern: The pattern to match with. - public init( - name: Swift.String? = nil, - negate: Swift.Bool? = nil, - _operator: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload.OperatorPayload, - pattern: Swift.String - ) { - self.name = name - self.negate = negate - self._operator = _operator - self.pattern = pattern - } - public enum CodingKeys: String, CodingKey { - case name - case negate - case _operator = "operator" - case pattern - } + /// - Remark: Generated from `#/components/schemas/full-repository/permissions`. + public var permissions: Components.Schemas.FullRepository.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_rebase_merge`. + public var allowRebaseMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/template_repository`. + public var templateRepository: Components.Schemas.NullableRepository? + /// - Remark: Generated from `#/components/schemas/full-repository/temp_clone_token`. + public var tempCloneToken: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_squash_merge`. + public var allowSquashMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_auto_merge`. + public var allowAutoMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/delete_branch_on_merge`. + public var deleteBranchOnMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_merge_commit`. + public var allowMergeCommit: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_update_branch`. + public var allowUpdateBranch: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/use_squash_pr_title_as_default`. + public var useSquashPrTitleAsDefault: Swift.Bool? + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_title`. + @frozen public enum SquashMergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case commitOrPrTitle = "COMMIT_OR_PR_TITLE" } - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters`. - public var parameters: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload? - /// Creates a new `RepositoryRuleCommitMessagePattern`. + /// The default value for a squash merge commit title: /// - /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleCommitMessagePattern._TypePayload, - parameters: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_title`. + public var squashMergeCommitTitle: Components.Schemas.FullRepository.SquashMergeCommitTitlePayload? + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_message`. + @frozen public enum SquashMergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case commitMessages = "COMMIT_MESSAGES" + case blank = "BLANK" } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/squash_merge_commit_message`. + public var squashMergeCommitMessage: Components.Schemas.FullRepository.SquashMergeCommitMessagePayload? + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_title`. + @frozen public enum MergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case mergeMessage = "MERGE_MESSAGE" } - } - /// Parameters to be used for the commit_author_email_pattern rule - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern`. - public struct RepositoryRuleCommitAuthorEmailPattern: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case commitAuthorEmailPattern = "commit_author_email_pattern" + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_title`. + public var mergeCommitTitle: Components.Schemas.FullRepository.MergeCommitTitlePayload? + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_message`. + @frozen public enum MergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case prTitle = "PR_TITLE" + case blank = "BLANK" } - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/type`. - public var _type: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// How this rule will appear to users. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/name`. - public var name: Swift.String? - /// If true, the rule will fail if the pattern matches. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/negate`. - public var negate: Swift.Bool? - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/operator`. - @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { - case startsWith = "starts_with" - case endsWith = "ends_with" - case contains = "contains" - case regex = "regex" - } - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/operator`. - public var _operator: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload.OperatorPayload - /// The pattern to match with. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/pattern`. - public var pattern: Swift.String - /// Creates a new `ParametersPayload`. + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/merge_commit_message`. + public var mergeCommitMessage: Components.Schemas.FullRepository.MergeCommitMessagePayload? + /// - Remark: Generated from `#/components/schemas/full-repository/allow_forking`. + public var allowForking: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/web_commit_signoff_required`. + public var webCommitSignoffRequired: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/subscribers_count`. + public var subscribersCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/network_count`. + public var networkCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/license`. + public var license: Components.Schemas.NullableLicenseSimple? + /// - Remark: Generated from `#/components/schemas/full-repository/organization`. + public var organization: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/full-repository/parent`. + public var parent: Components.Schemas.Repository? + /// - Remark: Generated from `#/components/schemas/full-repository/source`. + public var source: Components.Schemas.Repository? + /// - Remark: Generated from `#/components/schemas/full-repository/forks`. + public var forks: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/master_branch`. + public var masterBranch: Swift.String? + /// - Remark: Generated from `#/components/schemas/full-repository/open_issues`. + public var openIssues: Swift.Int + /// - Remark: Generated from `#/components/schemas/full-repository/watchers`. + public var watchers: Swift.Int + /// Whether anonymous git access is allowed. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/anonymous_access_enabled`. + public var anonymousAccessEnabled: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/full-repository/code_of_conduct`. + public var codeOfConduct: Components.Schemas.CodeOfConductSimple? + /// - Remark: Generated from `#/components/schemas/full-repository/security_and_analysis`. + public var securityAndAnalysis: Components.Schemas.SecurityAndAnalysis? + /// The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/custom_properties`. + public struct CustomPropertiesPayload: Codable, Hashable, Sendable { + /// A container of undocumented properties. + public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer + /// Creates a new `CustomPropertiesPayload`. /// /// - Parameters: - /// - name: How this rule will appear to users. - /// - negate: If true, the rule will fail if the pattern matches. - /// - _operator: The operator to use for matching. - /// - pattern: The pattern to match with. - public init( - name: Swift.String? = nil, - negate: Swift.Bool? = nil, - _operator: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload.OperatorPayload, - pattern: Swift.String - ) { - self.name = name - self.negate = negate - self._operator = _operator - self.pattern = pattern + /// - additionalProperties: A container of undocumented properties. + public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { + self.additionalProperties = additionalProperties } - public enum CodingKeys: String, CodingKey { - case name - case negate - case _operator = "operator" - case pattern + public init(from decoder: any Decoder) throws { + additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) + } + public func encode(to encoder: any Encoder) throws { + try encoder.encodeAdditionalProperties(additionalProperties) } } - /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters`. - public var parameters: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload? - /// Creates a new `RepositoryRuleCommitAuthorEmailPattern`. + /// The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. + /// + /// - Remark: Generated from `#/components/schemas/full-repository/custom_properties`. + public var customProperties: Components.Schemas.FullRepository.CustomPropertiesPayload? + /// Creates a new `FullRepository`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - id: + /// - nodeId: + /// - name: + /// - fullName: + /// - owner: + /// - _private: + /// - htmlUrl: + /// - description: + /// - fork: + /// - url: + /// - archiveUrl: + /// - assigneesUrl: + /// - blobsUrl: + /// - branchesUrl: + /// - collaboratorsUrl: + /// - commentsUrl: + /// - commitsUrl: + /// - compareUrl: + /// - contentsUrl: + /// - contributorsUrl: + /// - deploymentsUrl: + /// - downloadsUrl: + /// - eventsUrl: + /// - forksUrl: + /// - gitCommitsUrl: + /// - gitRefsUrl: + /// - gitTagsUrl: + /// - gitUrl: + /// - issueCommentUrl: + /// - issueEventsUrl: + /// - issuesUrl: + /// - keysUrl: + /// - labelsUrl: + /// - languagesUrl: + /// - mergesUrl: + /// - milestonesUrl: + /// - notificationsUrl: + /// - pullsUrl: + /// - releasesUrl: + /// - sshUrl: + /// - stargazersUrl: + /// - statusesUrl: + /// - subscribersUrl: + /// - subscriptionUrl: + /// - tagsUrl: + /// - teamsUrl: + /// - treesUrl: + /// - cloneUrl: + /// - mirrorUrl: + /// - hooksUrl: + /// - svnUrl: + /// - homepage: + /// - language: + /// - forksCount: + /// - stargazersCount: + /// - watchersCount: + /// - size: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + /// - defaultBranch: + /// - openIssuesCount: + /// - isTemplate: + /// - topics: + /// - hasIssues: + /// - hasProjects: + /// - hasWiki: + /// - hasPages: + /// - hasDownloads: + /// - hasDiscussions: + /// - archived: + /// - disabled: Returns whether or not this repository disabled. + /// - visibility: The repository visibility: public, private, or internal. + /// - pushedAt: + /// - createdAt: + /// - updatedAt: + /// - permissions: + /// - allowRebaseMerge: + /// - templateRepository: + /// - tempCloneToken: + /// - allowSquashMerge: + /// - allowAutoMerge: + /// - deleteBranchOnMerge: + /// - allowMergeCommit: + /// - allowUpdateBranch: + /// - useSquashPrTitleAsDefault: + /// - squashMergeCommitTitle: The default value for a squash merge commit title: + /// - squashMergeCommitMessage: The default value for a squash merge commit message: + /// - mergeCommitTitle: The default value for a merge commit title. + /// - mergeCommitMessage: The default value for a merge commit message. + /// - allowForking: + /// - webCommitSignoffRequired: + /// - subscribersCount: + /// - networkCount: + /// - license: + /// - organization: + /// - parent: + /// - source: + /// - forks: + /// - masterBranch: + /// - openIssues: + /// - watchers: + /// - anonymousAccessEnabled: Whether anonymous git access is allowed. + /// - codeOfConduct: + /// - securityAndAnalysis: + /// - customProperties: The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. public init( - _type: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern._TypePayload, - parameters: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload? = nil + id: Swift.Int64, + nodeId: Swift.String, + name: Swift.String, + fullName: Swift.String, + owner: Components.Schemas.SimpleUser, + _private: Swift.Bool, + htmlUrl: Swift.String, + description: Swift.String? = nil, + fork: Swift.Bool, + url: Swift.String, + archiveUrl: Swift.String, + assigneesUrl: Swift.String, + blobsUrl: Swift.String, + branchesUrl: Swift.String, + collaboratorsUrl: Swift.String, + commentsUrl: Swift.String, + commitsUrl: Swift.String, + compareUrl: Swift.String, + contentsUrl: Swift.String, + contributorsUrl: Swift.String, + deploymentsUrl: Swift.String, + downloadsUrl: Swift.String, + eventsUrl: Swift.String, + forksUrl: Swift.String, + gitCommitsUrl: Swift.String, + gitRefsUrl: Swift.String, + gitTagsUrl: Swift.String, + gitUrl: Swift.String, + issueCommentUrl: Swift.String, + issueEventsUrl: Swift.String, + issuesUrl: Swift.String, + keysUrl: Swift.String, + labelsUrl: Swift.String, + languagesUrl: Swift.String, + mergesUrl: Swift.String, + milestonesUrl: Swift.String, + notificationsUrl: Swift.String, + pullsUrl: Swift.String, + releasesUrl: Swift.String, + sshUrl: Swift.String, + stargazersUrl: Swift.String, + statusesUrl: Swift.String, + subscribersUrl: Swift.String, + subscriptionUrl: Swift.String, + tagsUrl: Swift.String, + teamsUrl: Swift.String, + treesUrl: Swift.String, + cloneUrl: Swift.String, + mirrorUrl: Swift.String? = nil, + hooksUrl: Swift.String, + svnUrl: Swift.String, + homepage: Swift.String? = nil, + language: Swift.String? = nil, + forksCount: Swift.Int, + stargazersCount: Swift.Int, + watchersCount: Swift.Int, + size: Swift.Int, + defaultBranch: Swift.String, + openIssuesCount: Swift.Int, + isTemplate: Swift.Bool? = nil, + topics: [Swift.String]? = nil, + hasIssues: Swift.Bool, + hasProjects: Swift.Bool, + hasWiki: Swift.Bool, + hasPages: Swift.Bool, + hasDownloads: Swift.Bool? = nil, + hasDiscussions: Swift.Bool, + archived: Swift.Bool, + disabled: Swift.Bool, + visibility: Swift.String? = nil, + pushedAt: Foundation.Date, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + permissions: Components.Schemas.FullRepository.PermissionsPayload? = nil, + allowRebaseMerge: Swift.Bool? = nil, + templateRepository: Components.Schemas.NullableRepository? = nil, + tempCloneToken: Swift.String? = nil, + allowSquashMerge: Swift.Bool? = nil, + allowAutoMerge: Swift.Bool? = nil, + deleteBranchOnMerge: Swift.Bool? = nil, + allowMergeCommit: Swift.Bool? = nil, + allowUpdateBranch: Swift.Bool? = nil, + useSquashPrTitleAsDefault: Swift.Bool? = nil, + squashMergeCommitTitle: Components.Schemas.FullRepository.SquashMergeCommitTitlePayload? = nil, + squashMergeCommitMessage: Components.Schemas.FullRepository.SquashMergeCommitMessagePayload? = nil, + mergeCommitTitle: Components.Schemas.FullRepository.MergeCommitTitlePayload? = nil, + mergeCommitMessage: Components.Schemas.FullRepository.MergeCommitMessagePayload? = nil, + allowForking: Swift.Bool? = nil, + webCommitSignoffRequired: Swift.Bool? = nil, + subscribersCount: Swift.Int, + networkCount: Swift.Int, + license: Components.Schemas.NullableLicenseSimple? = nil, + organization: Components.Schemas.NullableSimpleUser? = nil, + parent: Components.Schemas.Repository? = nil, + source: Components.Schemas.Repository? = nil, + forks: Swift.Int, + masterBranch: Swift.String? = nil, + openIssues: Swift.Int, + watchers: Swift.Int, + anonymousAccessEnabled: Swift.Bool? = nil, + codeOfConduct: Components.Schemas.CodeOfConductSimple? = nil, + securityAndAnalysis: Components.Schemas.SecurityAndAnalysis? = nil, + customProperties: Components.Schemas.FullRepository.CustomPropertiesPayload? = nil ) { - self._type = _type - self.parameters = parameters + self.id = id + self.nodeId = nodeId + self.name = name + self.fullName = fullName + self.owner = owner + self._private = _private + self.htmlUrl = htmlUrl + self.description = description + self.fork = fork + self.url = url + self.archiveUrl = archiveUrl + self.assigneesUrl = assigneesUrl + self.blobsUrl = blobsUrl + self.branchesUrl = branchesUrl + self.collaboratorsUrl = collaboratorsUrl + self.commentsUrl = commentsUrl + self.commitsUrl = commitsUrl + self.compareUrl = compareUrl + self.contentsUrl = contentsUrl + self.contributorsUrl = contributorsUrl + self.deploymentsUrl = deploymentsUrl + self.downloadsUrl = downloadsUrl + self.eventsUrl = eventsUrl + self.forksUrl = forksUrl + self.gitCommitsUrl = gitCommitsUrl + self.gitRefsUrl = gitRefsUrl + self.gitTagsUrl = gitTagsUrl + self.gitUrl = gitUrl + self.issueCommentUrl = issueCommentUrl + self.issueEventsUrl = issueEventsUrl + self.issuesUrl = issuesUrl + self.keysUrl = keysUrl + self.labelsUrl = labelsUrl + self.languagesUrl = languagesUrl + self.mergesUrl = mergesUrl + self.milestonesUrl = milestonesUrl + self.notificationsUrl = notificationsUrl + self.pullsUrl = pullsUrl + self.releasesUrl = releasesUrl + self.sshUrl = sshUrl + self.stargazersUrl = stargazersUrl + self.statusesUrl = statusesUrl + self.subscribersUrl = subscribersUrl + self.subscriptionUrl = subscriptionUrl + self.tagsUrl = tagsUrl + self.teamsUrl = teamsUrl + self.treesUrl = treesUrl + self.cloneUrl = cloneUrl + self.mirrorUrl = mirrorUrl + self.hooksUrl = hooksUrl + self.svnUrl = svnUrl + self.homepage = homepage + self.language = language + self.forksCount = forksCount + self.stargazersCount = stargazersCount + self.watchersCount = watchersCount + self.size = size + self.defaultBranch = defaultBranch + self.openIssuesCount = openIssuesCount + self.isTemplate = isTemplate + self.topics = topics + self.hasIssues = hasIssues + self.hasProjects = hasProjects + self.hasWiki = hasWiki + self.hasPages = hasPages + self.hasDownloads = hasDownloads + self.hasDiscussions = hasDiscussions + self.archived = archived + self.disabled = disabled + self.visibility = visibility + self.pushedAt = pushedAt + self.createdAt = createdAt + self.updatedAt = updatedAt + self.permissions = permissions + self.allowRebaseMerge = allowRebaseMerge + self.templateRepository = templateRepository + self.tempCloneToken = tempCloneToken + self.allowSquashMerge = allowSquashMerge + self.allowAutoMerge = allowAutoMerge + self.deleteBranchOnMerge = deleteBranchOnMerge + self.allowMergeCommit = allowMergeCommit + self.allowUpdateBranch = allowUpdateBranch + self.useSquashPrTitleAsDefault = useSquashPrTitleAsDefault + self.squashMergeCommitTitle = squashMergeCommitTitle + self.squashMergeCommitMessage = squashMergeCommitMessage + self.mergeCommitTitle = mergeCommitTitle + self.mergeCommitMessage = mergeCommitMessage + self.allowForking = allowForking + self.webCommitSignoffRequired = webCommitSignoffRequired + self.subscribersCount = subscribersCount + self.networkCount = networkCount + self.license = license + self.organization = organization + self.parent = parent + self.source = source + self.forks = forks + self.masterBranch = masterBranch + self.openIssues = openIssues + self.watchers = watchers + self.anonymousAccessEnabled = anonymousAccessEnabled + self.codeOfConduct = codeOfConduct + self.securityAndAnalysis = securityAndAnalysis + self.customProperties = customProperties } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case id + case nodeId = "node_id" + case name + case fullName = "full_name" + case owner + case _private = "private" + case htmlUrl = "html_url" + case description + case fork + case url + case archiveUrl = "archive_url" + case assigneesUrl = "assignees_url" + case blobsUrl = "blobs_url" + case branchesUrl = "branches_url" + case collaboratorsUrl = "collaborators_url" + case commentsUrl = "comments_url" + case commitsUrl = "commits_url" + case compareUrl = "compare_url" + case contentsUrl = "contents_url" + case contributorsUrl = "contributors_url" + case deploymentsUrl = "deployments_url" + case downloadsUrl = "downloads_url" + case eventsUrl = "events_url" + case forksUrl = "forks_url" + case gitCommitsUrl = "git_commits_url" + case gitRefsUrl = "git_refs_url" + case gitTagsUrl = "git_tags_url" + case gitUrl = "git_url" + case issueCommentUrl = "issue_comment_url" + case issueEventsUrl = "issue_events_url" + case issuesUrl = "issues_url" + case keysUrl = "keys_url" + case labelsUrl = "labels_url" + case languagesUrl = "languages_url" + case mergesUrl = "merges_url" + case milestonesUrl = "milestones_url" + case notificationsUrl = "notifications_url" + case pullsUrl = "pulls_url" + case releasesUrl = "releases_url" + case sshUrl = "ssh_url" + case stargazersUrl = "stargazers_url" + case statusesUrl = "statuses_url" + case subscribersUrl = "subscribers_url" + case subscriptionUrl = "subscription_url" + case tagsUrl = "tags_url" + case teamsUrl = "teams_url" + case treesUrl = "trees_url" + case cloneUrl = "clone_url" + case mirrorUrl = "mirror_url" + case hooksUrl = "hooks_url" + case svnUrl = "svn_url" + case homepage + case language + case forksCount = "forks_count" + case stargazersCount = "stargazers_count" + case watchersCount = "watchers_count" + case size + case defaultBranch = "default_branch" + case openIssuesCount = "open_issues_count" + case isTemplate = "is_template" + case topics + case hasIssues = "has_issues" + case hasProjects = "has_projects" + case hasWiki = "has_wiki" + case hasPages = "has_pages" + case hasDownloads = "has_downloads" + case hasDiscussions = "has_discussions" + case archived + case disabled + case visibility + case pushedAt = "pushed_at" + case createdAt = "created_at" + case updatedAt = "updated_at" + case permissions + case allowRebaseMerge = "allow_rebase_merge" + case templateRepository = "template_repository" + case tempCloneToken = "temp_clone_token" + case allowSquashMerge = "allow_squash_merge" + case allowAutoMerge = "allow_auto_merge" + case deleteBranchOnMerge = "delete_branch_on_merge" + case allowMergeCommit = "allow_merge_commit" + case allowUpdateBranch = "allow_update_branch" + case useSquashPrTitleAsDefault = "use_squash_pr_title_as_default" + case squashMergeCommitTitle = "squash_merge_commit_title" + case squashMergeCommitMessage = "squash_merge_commit_message" + case mergeCommitTitle = "merge_commit_title" + case mergeCommitMessage = "merge_commit_message" + case allowForking = "allow_forking" + case webCommitSignoffRequired = "web_commit_signoff_required" + case subscribersCount = "subscribers_count" + case networkCount = "network_count" + case license + case organization + case parent + case source + case forks + case masterBranch = "master_branch" + case openIssues = "open_issues" + case watchers + case anonymousAccessEnabled = "anonymous_access_enabled" + case codeOfConduct = "code_of_conduct" + case securityAndAnalysis = "security_and_analysis" + case customProperties = "custom_properties" } } - /// Parameters to be used for the committer_email_pattern rule + /// The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern`. - public struct RepositoryRuleCommitterEmailPattern: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case committerEmailPattern = "committer_email_pattern" + /// - Remark: Generated from `#/components/schemas/repository-rule-enforcement`. + @frozen public enum RepositoryRuleEnforcement: String, Codable, Hashable, Sendable, CaseIterable { + case disabled = "disabled" + case active = "active" + case evaluate = "evaluate" + } + /// An actor that can bypass rules in a ruleset + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor`. + public struct RepositoryRulesetBypassActor: Codable, Hashable, Sendable { + /// The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_id`. + public var actorId: Swift.Int? + /// The type of actor that can bypass a ruleset. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_type`. + @frozen public enum ActorTypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case integration = "Integration" + case organizationAdmin = "OrganizationAdmin" + case repositoryRole = "RepositoryRole" + case team = "Team" + case deployKey = "DeployKey" } - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/type`. - public var _type: Components.Schemas.RepositoryRuleCommitterEmailPattern._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// How this rule will appear to users. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/name`. - public var name: Swift.String? - /// If true, the rule will fail if the pattern matches. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/negate`. - public var negate: Swift.Bool? - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/operator`. - @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { - case startsWith = "starts_with" - case endsWith = "ends_with" - case contains = "contains" - case regex = "regex" - } - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/operator`. - public var _operator: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload.OperatorPayload - /// The pattern to match with. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/pattern`. - public var pattern: Swift.String - /// Creates a new `ParametersPayload`. - /// - /// - Parameters: - /// - name: How this rule will appear to users. - /// - negate: If true, the rule will fail if the pattern matches. - /// - _operator: The operator to use for matching. - /// - pattern: The pattern to match with. - public init( - name: Swift.String? = nil, - negate: Swift.Bool? = nil, - _operator: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload.OperatorPayload, - pattern: Swift.String - ) { - self.name = name - self.negate = negate - self._operator = _operator - self.pattern = pattern - } - public enum CodingKeys: String, CodingKey { - case name - case negate - case _operator = "operator" - case pattern - } + /// The type of actor that can bypass a ruleset. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/actor_type`. + public var actorType: Components.Schemas.RepositoryRulesetBypassActor.ActorTypePayload + /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/bypass_mode`. + @frozen public enum BypassModePayload: String, Codable, Hashable, Sendable, CaseIterable { + case always = "always" + case pullRequest = "pull_request" + case exempt = "exempt" } - /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters`. - public var parameters: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload? - /// Creates a new `RepositoryRuleCommitterEmailPattern`. + /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-bypass-actor/bypass_mode`. + public var bypassMode: Components.Schemas.RepositoryRulesetBypassActor.BypassModePayload? + /// Creates a new `RepositoryRulesetBypassActor`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - actorId: The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. + /// - actorType: The type of actor that can bypass a ruleset. + /// - bypassMode: When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. public init( - _type: Components.Schemas.RepositoryRuleCommitterEmailPattern._TypePayload, - parameters: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload? = nil + actorId: Swift.Int? = nil, + actorType: Components.Schemas.RepositoryRulesetBypassActor.ActorTypePayload, + bypassMode: Components.Schemas.RepositoryRulesetBypassActor.BypassModePayload? = nil ) { - self._type = _type - self.parameters = parameters - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters - } - } - /// Parameters to be used for the branch_name_pattern rule - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern`. - public struct RepositoryRuleBranchNamePattern: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case branchNamePattern = "branch_name_pattern" + self.actorId = actorId + self.actorType = actorType + self.bypassMode = bypassMode } - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/type`. - public var _type: Components.Schemas.RepositoryRuleBranchNamePattern._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// How this rule will appear to users. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/name`. - public var name: Swift.String? - /// If true, the rule will fail if the pattern matches. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/negate`. - public var negate: Swift.Bool? - /// The operator to use for matching. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/operator`. - @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { - case startsWith = "starts_with" - case endsWith = "ends_with" - case contains = "contains" - case regex = "regex" - } - /// The operator to use for matching. + public enum CodingKeys: String, CodingKey { + case actorId = "actor_id" + case actorType = "actor_type" + case bypassMode = "bypass_mode" + } + } + /// Parameters for a repository ruleset ref name condition + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions`. + public struct RepositoryRulesetConditions: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name`. + public struct RefNamePayload: Codable, Hashable, Sendable { + /// Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/operator`. - public var _operator: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload.OperatorPayload - /// The pattern to match with. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name/include`. + public var include: [Swift.String]? + /// Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/pattern`. - public var pattern: Swift.String - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name/exclude`. + public var exclude: [Swift.String]? + /// Creates a new `RefNamePayload`. /// /// - Parameters: - /// - name: How this rule will appear to users. - /// - negate: If true, the rule will fail if the pattern matches. - /// - _operator: The operator to use for matching. - /// - pattern: The pattern to match with. + /// - include: Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. + /// - exclude: Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. public init( - name: Swift.String? = nil, - negate: Swift.Bool? = nil, - _operator: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload.OperatorPayload, - pattern: Swift.String + include: [Swift.String]? = nil, + exclude: [Swift.String]? = nil ) { - self.name = name - self.negate = negate - self._operator = _operator - self.pattern = pattern + self.include = include + self.exclude = exclude } public enum CodingKeys: String, CodingKey { - case name - case negate - case _operator = "operator" - case pattern + case include + case exclude } } - /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters`. - public var parameters: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload? - /// Creates a new `RepositoryRuleBranchNamePattern`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions/ref_name`. + public var refName: Components.Schemas.RepositoryRulesetConditions.RefNamePayload? + /// Creates a new `RepositoryRulesetConditions`. /// /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleBranchNamePattern._TypePayload, - parameters: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - refName: + public init(refName: Components.Schemas.RepositoryRulesetConditions.RefNamePayload? = nil) { + self.refName = refName } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case refName = "ref_name" } } - /// Parameters to be used for the tag_name_pattern rule + /// Parameters for a repository name condition /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern`. - public struct RepositoryRuleTagNamePattern: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case tagNamePattern = "tag_name_pattern" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/type`. - public var _type: Components.Schemas.RepositoryRuleTagNamePattern._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// How this rule will appear to users. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/name`. - public var name: Swift.String? - /// If true, the rule will fail if the pattern matches. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/negate`. - public var negate: Swift.Bool? - /// The operator to use for matching. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target`. + public struct RepositoryRulesetConditionsRepositoryNameTarget: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name`. + public struct RepositoryNamePayload: Codable, Hashable, Sendable { + /// Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/operator`. - @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { - case startsWith = "starts_with" - case endsWith = "ends_with" - case contains = "contains" - case regex = "regex" - } - /// The operator to use for matching. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/include`. + public var include: [Swift.String]? + /// Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/operator`. - public var _operator: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload.OperatorPayload - /// The pattern to match with. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/exclude`. + public var exclude: [Swift.String]? + /// Whether renaming of target repositories is prevented. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/pattern`. - public var pattern: Swift.String - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name/protected`. + public var protected: Swift.Bool? + /// Creates a new `RepositoryNamePayload`. /// /// - Parameters: - /// - name: How this rule will appear to users. - /// - negate: If true, the rule will fail if the pattern matches. - /// - _operator: The operator to use for matching. - /// - pattern: The pattern to match with. + /// - include: Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. + /// - exclude: Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. + /// - protected: Whether renaming of target repositories is prevented. public init( - name: Swift.String? = nil, - negate: Swift.Bool? = nil, - _operator: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload.OperatorPayload, - pattern: Swift.String + include: [Swift.String]? = nil, + exclude: [Swift.String]? = nil, + protected: Swift.Bool? = nil ) { - self.name = name - self.negate = negate - self._operator = _operator - self.pattern = pattern + self.include = include + self.exclude = exclude + self.protected = protected } public enum CodingKeys: String, CodingKey { - case name - case negate - case _operator = "operator" - case pattern + case include + case exclude + case protected } } - /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters`. - public var parameters: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload? - /// Creates a new `RepositoryRuleTagNamePattern`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-name-target/repository_name`. + public var repositoryName: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget.RepositoryNamePayload + /// Creates a new `RepositoryRulesetConditionsRepositoryNameTarget`. /// /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleTagNamePattern._TypePayload, - parameters: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - repositoryName: + public init(repositoryName: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget.RepositoryNamePayload) { + self.repositoryName = repositoryName } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case repositoryName = "repository_name" } } - /// Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. + /// Parameters for a repository ID condition /// - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction`. - public struct RepositoryRuleFilePathRestriction: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case filePathRestriction = "file_path_restriction" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/type`. - public var _type: Components.Schemas.RepositoryRuleFilePathRestriction._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// The file paths that are restricted from being pushed to the commit graph. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target`. + public struct RepositoryRulesetConditionsRepositoryIdTarget: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id`. + public struct RepositoryIdPayload: Codable, Hashable, Sendable { + /// The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters/restricted_file_paths`. - public var restrictedFilePaths: [Swift.String] - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id/repository_ids`. + public var repositoryIds: [Swift.Int]? + /// Creates a new `RepositoryIdPayload`. /// /// - Parameters: - /// - restrictedFilePaths: The file paths that are restricted from being pushed to the commit graph. - public init(restrictedFilePaths: [Swift.String]) { - self.restrictedFilePaths = restrictedFilePaths + /// - repositoryIds: The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. + public init(repositoryIds: [Swift.Int]? = nil) { + self.repositoryIds = repositoryIds } public enum CodingKeys: String, CodingKey { - case restrictedFilePaths = "restricted_file_paths" + case repositoryIds = "repository_ids" } } - /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters`. - public var parameters: Components.Schemas.RepositoryRuleFilePathRestriction.ParametersPayload? - /// Creates a new `RepositoryRuleFilePathRestriction`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-id-target/repository_id`. + public var repositoryId: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget.RepositoryIdPayload + /// Creates a new `RepositoryRulesetConditionsRepositoryIdTarget`. /// /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleFilePathRestriction._TypePayload, - parameters: Components.Schemas.RepositoryRuleFilePathRestriction.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - repositoryId: + public init(repositoryId: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget.RepositoryIdPayload) { + self.repositoryId = repositoryId } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case repositoryId = "repository_id" } } - /// Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. + /// Parameters for a targeting a repository property /// - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length`. - public struct RepositoryRuleMaxFilePathLength: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case maxFilePathLength = "max_file_path_length" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/type`. - public var _type: Components.Schemas.RepositoryRuleMaxFilePathLength._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// The maximum amount of characters allowed in file paths. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters/max_file_path_length`. - public var maxFilePathLength: Swift.Int - /// Creates a new `ParametersPayload`. - /// - /// - Parameters: - /// - maxFilePathLength: The maximum amount of characters allowed in file paths. - public init(maxFilePathLength: Swift.Int) { - self.maxFilePathLength = maxFilePathLength - } - public enum CodingKeys: String, CodingKey { - case maxFilePathLength = "max_file_path_length" - } + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec`. + public struct RepositoryRulesetConditionsRepositoryPropertySpec: Codable, Hashable, Sendable { + /// The name of the repository property to target + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/name`. + public var name: Swift.String + /// The values to match for the repository property + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/property_values`. + public var propertyValues: [Swift.String] + /// The source of the repository property. Defaults to 'custom' if not specified. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/source`. + @frozen public enum SourcePayload: String, Codable, Hashable, Sendable, CaseIterable { + case custom = "custom" + case system = "system" } - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters`. - public var parameters: Components.Schemas.RepositoryRuleMaxFilePathLength.ParametersPayload? - /// Creates a new `RepositoryRuleMaxFilePathLength`. + /// The source of the repository property. Defaults to 'custom' if not specified. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-spec/source`. + public var source: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec.SourcePayload? + /// Creates a new `RepositoryRulesetConditionsRepositoryPropertySpec`. /// /// - Parameters: - /// - _type: - /// - parameters: + /// - name: The name of the repository property to target + /// - propertyValues: The values to match for the repository property + /// - source: The source of the repository property. Defaults to 'custom' if not specified. public init( - _type: Components.Schemas.RepositoryRuleMaxFilePathLength._TypePayload, - parameters: Components.Schemas.RepositoryRuleMaxFilePathLength.ParametersPayload? = nil + name: Swift.String, + propertyValues: [Swift.String], + source: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec.SourcePayload? = nil ) { - self._type = _type - self.parameters = parameters + self.name = name + self.propertyValues = propertyValues + self.source = source } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case name + case propertyValues = "property_values" + case source } } - /// Prevent commits that include files with specified file extensions from being pushed to the commit graph. + /// Parameters for a repository property condition /// - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction`. - public struct RepositoryRuleFileExtensionRestriction: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case fileExtensionRestriction = "file_extension_restriction" - } - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/type`. - public var _type: Components.Schemas.RepositoryRuleFileExtensionRestriction._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// The file extensions that are restricted from being pushed to the commit graph. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target`. + public struct RepositoryRulesetConditionsRepositoryPropertyTarget: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property`. + public struct RepositoryPropertyPayload: Codable, Hashable, Sendable { + /// The repository properties and values to include. All of these properties must match for the condition to pass. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters/restricted_file_extensions`. - public var restrictedFileExtensions: [Swift.String] - /// Creates a new `ParametersPayload`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property/include`. + public var include: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? + /// The repository properties and values to exclude. The condition will not pass if any of these properties match. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property/exclude`. + public var exclude: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? + /// Creates a new `RepositoryPropertyPayload`. /// /// - Parameters: - /// - restrictedFileExtensions: The file extensions that are restricted from being pushed to the commit graph. - public init(restrictedFileExtensions: [Swift.String]) { - self.restrictedFileExtensions = restrictedFileExtensions + /// - include: The repository properties and values to include. All of these properties must match for the condition to pass. + /// - exclude: The repository properties and values to exclude. The condition will not pass if any of these properties match. + public init( + include: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? = nil, + exclude: [Components.Schemas.RepositoryRulesetConditionsRepositoryPropertySpec]? = nil + ) { + self.include = include + self.exclude = exclude } public enum CodingKeys: String, CodingKey { - case restrictedFileExtensions = "restricted_file_extensions" + case include + case exclude } } - /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters`. - public var parameters: Components.Schemas.RepositoryRuleFileExtensionRestriction.ParametersPayload? - /// Creates a new `RepositoryRuleFileExtensionRestriction`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset-conditions-repository-property-target/repository_property`. + public var repositoryProperty: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget.RepositoryPropertyPayload + /// Creates a new `RepositoryRulesetConditionsRepositoryPropertyTarget`. /// /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleFileExtensionRestriction._TypePayload, - parameters: Components.Schemas.RepositoryRuleFileExtensionRestriction.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - repositoryProperty: + public init(repositoryProperty: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget.RepositoryPropertyPayload) { + self.repositoryProperty = repositoryProperty } public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + case repositoryProperty = "repository_property" } } - /// Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. + /// Conditions for an organization ruleset. + /// The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. + /// The push rulesets conditions object does not require the `ref_name` property. + /// For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size`. - public struct RepositoryRuleMaxFileSize: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/type`. - @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case maxFileSize = "max_file_size" + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions`. + @frozen public enum OrgRulesetConditions: Codable, Hashable, Sendable { + /// Conditions to target repositories by name and refs by name + /// + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1`. + public struct Case1Payload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1/value1`. + public var value1: Components.Schemas.RepositoryRulesetConditions + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1/value2`. + public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget + /// Creates a new `Case1Payload`. + /// + /// - Parameters: + /// - value1: + /// - value2: + public init( + value1: Components.Schemas.RepositoryRulesetConditions, + value2: Components.Schemas.RepositoryRulesetConditionsRepositoryNameTarget + ) { + self.value1 = value1 + self.value2 = value2 + } + public init(from decoder: any Decoder) throws { + self.value1 = try .init(from: decoder) + self.value2 = try .init(from: decoder) + } + public func encode(to encoder: any Encoder) throws { + try self.value1.encode(to: encoder) + try self.value2.encode(to: encoder) + } } - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/type`. - public var _type: Components.Schemas.RepositoryRuleMaxFileSize._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters`. - public struct ParametersPayload: Codable, Hashable, Sendable { - /// The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). + /// Conditions to target repositories by name and refs by name + /// + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case1`. + case case1(Components.Schemas.OrgRulesetConditions.Case1Payload) + /// Conditions to target repositories by id and refs by name + /// + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2`. + public struct Case2Payload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2/value1`. + public var value1: Components.Schemas.RepositoryRulesetConditions + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2/value2`. + public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget + /// Creates a new `Case2Payload`. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters/max_file_size`. - public var maxFileSize: Swift.Int - /// Creates a new `ParametersPayload`. + /// - Parameters: + /// - value1: + /// - value2: + public init( + value1: Components.Schemas.RepositoryRulesetConditions, + value2: Components.Schemas.RepositoryRulesetConditionsRepositoryIdTarget + ) { + self.value1 = value1 + self.value2 = value2 + } + public init(from decoder: any Decoder) throws { + self.value1 = try .init(from: decoder) + self.value2 = try .init(from: decoder) + } + public func encode(to encoder: any Encoder) throws { + try self.value1.encode(to: encoder) + try self.value2.encode(to: encoder) + } + } + /// Conditions to target repositories by id and refs by name + /// + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case2`. + case case2(Components.Schemas.OrgRulesetConditions.Case2Payload) + /// Conditions to target repositories by property and refs by name + /// + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3`. + public struct Case3Payload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3/value1`. + public var value1: Components.Schemas.RepositoryRulesetConditions + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3/value2`. + public var value2: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget + /// Creates a new `Case3Payload`. /// /// - Parameters: - /// - maxFileSize: The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). - public init(maxFileSize: Swift.Int) { - self.maxFileSize = maxFileSize + /// - value1: + /// - value2: + public init( + value1: Components.Schemas.RepositoryRulesetConditions, + value2: Components.Schemas.RepositoryRulesetConditionsRepositoryPropertyTarget + ) { + self.value1 = value1 + self.value2 = value2 } - public enum CodingKeys: String, CodingKey { - case maxFileSize = "max_file_size" + public init(from decoder: any Decoder) throws { + self.value1 = try .init(from: decoder) + self.value2 = try .init(from: decoder) + } + public func encode(to encoder: any Encoder) throws { + try self.value1.encode(to: encoder) + try self.value2.encode(to: encoder) } } - /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters`. - public var parameters: Components.Schemas.RepositoryRuleMaxFileSize.ParametersPayload? - /// Creates a new `RepositoryRuleMaxFileSize`. + /// Conditions to target repositories by property and refs by name /// - /// - Parameters: - /// - _type: - /// - parameters: - public init( - _type: Components.Schemas.RepositoryRuleMaxFileSize._TypePayload, - parameters: Components.Schemas.RepositoryRuleMaxFileSize.ParametersPayload? = nil - ) { - self._type = _type - self.parameters = parameters + /// - Remark: Generated from `#/components/schemas/org-ruleset-conditions/case3`. + case case3(Components.Schemas.OrgRulesetConditions.Case3Payload) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .case2(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .case3(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case parameters + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try value.encode(to: encoder) + case let .case2(value): + try value.encode(to: encoder) + case let .case3(value): + try value.encode(to: encoder) + } } } - /// A workflow that must run for this rule to pass + /// Only allow users with bypass permission to create matching refs. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference`. - public struct RepositoryRuleParamsWorkflowFileReference: Codable, Hashable, Sendable { - /// The path to the workflow file - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/path`. - public var path: Swift.String - /// The ref (branch or tag) of the workflow file to use - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/ref`. - public var ref: Swift.String? - /// The ID of the repository where the workflow is defined - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/repository_id`. - public var repositoryId: Swift.Int - /// The commit SHA of the workflow file to use - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/sha`. - public var sha: Swift.String? - /// Creates a new `RepositoryRuleParamsWorkflowFileReference`. + /// - Remark: Generated from `#/components/schemas/repository-rule-creation`. + public struct RepositoryRuleCreation: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-creation/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case creation = "creation" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-creation/type`. + public var _type: Components.Schemas.RepositoryRuleCreation._TypePayload + /// Creates a new `RepositoryRuleCreation`. /// /// - Parameters: - /// - path: The path to the workflow file - /// - ref: The ref (branch or tag) of the workflow file to use - /// - repositoryId: The ID of the repository where the workflow is defined - /// - sha: The commit SHA of the workflow file to use - public init( - path: Swift.String, - ref: Swift.String? = nil, - repositoryId: Swift.Int, - sha: Swift.String? = nil - ) { - self.path = path - self.ref = ref - self.repositoryId = repositoryId - self.sha = sha + /// - _type: + public init(_type: Components.Schemas.RepositoryRuleCreation._TypePayload) { + self._type = _type } public enum CodingKeys: String, CodingKey { - case path - case ref - case repositoryId = "repository_id" - case sha + case _type = "type" } } - /// Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + /// Only allow users with bypass permission to update matching refs. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows`. - public struct RepositoryRuleWorkflows: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/type`. + /// - Remark: Generated from `#/components/schemas/repository-rule-update`. + public struct RepositoryRuleUpdate: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-update/type`. @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case workflows = "workflows" + case update = "update" } - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/type`. - public var _type: Components.Schemas.RepositoryRuleWorkflows._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters`. + /// - Remark: Generated from `#/components/schemas/repository-rule-update/type`. + public var _type: Components.Schemas.RepositoryRuleUpdate._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters`. public struct ParametersPayload: Codable, Hashable, Sendable { - /// Allow repositories and branches to be created if a check would otherwise prohibit it. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters/do_not_enforce_on_create`. - public var doNotEnforceOnCreate: Swift.Bool? - /// Workflows that must pass for this rule to pass. + /// Branch can pull changes from its upstream repository /// - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters/workflows`. - public var workflows: [Components.Schemas.RepositoryRuleParamsWorkflowFileReference] + /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters/update_allows_fetch_and_merge`. + public var updateAllowsFetchAndMerge: Swift.Bool /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - doNotEnforceOnCreate: Allow repositories and branches to be created if a check would otherwise prohibit it. - /// - workflows: Workflows that must pass for this rule to pass. - public init( - doNotEnforceOnCreate: Swift.Bool? = nil, - workflows: [Components.Schemas.RepositoryRuleParamsWorkflowFileReference] - ) { - self.doNotEnforceOnCreate = doNotEnforceOnCreate - self.workflows = workflows + /// - updateAllowsFetchAndMerge: Branch can pull changes from its upstream repository + public init(updateAllowsFetchAndMerge: Swift.Bool) { + self.updateAllowsFetchAndMerge = updateAllowsFetchAndMerge } public enum CodingKeys: String, CodingKey { - case doNotEnforceOnCreate = "do_not_enforce_on_create" - case workflows + case updateAllowsFetchAndMerge = "update_allows_fetch_and_merge" } } - /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters`. - public var parameters: Components.Schemas.RepositoryRuleWorkflows.ParametersPayload? - /// Creates a new `RepositoryRuleWorkflows`. + /// - Remark: Generated from `#/components/schemas/repository-rule-update/parameters`. + public var parameters: Components.Schemas.RepositoryRuleUpdate.ParametersPayload? + /// Creates a new `RepositoryRuleUpdate`. /// /// - Parameters: /// - _type: /// - parameters: public init( - _type: Components.Schemas.RepositoryRuleWorkflows._TypePayload, - parameters: Components.Schemas.RepositoryRuleWorkflows.ParametersPayload? = nil + _type: Components.Schemas.RepositoryRuleUpdate._TypePayload, + parameters: Components.Schemas.RepositoryRuleUpdate.ParametersPayload? = nil ) { self._type = _type self.parameters = parameters @@ -12945,99 +12311,150 @@ public enum Components { case parameters } } - /// A tool that must provide code scanning results for this rule to pass. + /// Only allow users with bypass permissions to delete matching refs. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool`. - public struct RepositoryRuleParamsCodeScanningTool: Codable, Hashable, Sendable { - /// The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/alerts_threshold`. - @frozen public enum AlertsThresholdPayload: String, Codable, Hashable, Sendable, CaseIterable { - case none = "none" - case errors = "errors" - case errorsAndWarnings = "errors_and_warnings" - case all = "all" + /// - Remark: Generated from `#/components/schemas/repository-rule-deletion`. + public struct RepositoryRuleDeletion: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-deletion/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case deletion = "deletion" } - /// The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/alerts_threshold`. - public var alertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.AlertsThresholdPayload - /// The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// - Remark: Generated from `#/components/schemas/repository-rule-deletion/type`. + public var _type: Components.Schemas.RepositoryRuleDeletion._TypePayload + /// Creates a new `RepositoryRuleDeletion`. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/security_alerts_threshold`. - @frozen public enum SecurityAlertsThresholdPayload: String, Codable, Hashable, Sendable, CaseIterable { - case none = "none" - case critical = "critical" - case highOrHigher = "high_or_higher" - case mediumOrHigher = "medium_or_higher" - case all = "all" + /// - Parameters: + /// - _type: + public init(_type: Components.Schemas.RepositoryRuleDeletion._TypePayload) { + self._type = _type } - /// The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/security_alerts_threshold`. - public var securityAlertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.SecurityAlertsThresholdPayload - /// The name of a code scanning tool - /// - /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/tool`. - public var tool: Swift.String - /// Creates a new `RepositoryRuleParamsCodeScanningTool`. + public enum CodingKeys: String, CodingKey { + case _type = "type" + } + } + /// Prevent merge commits from being pushed to matching refs. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history`. + public struct RepositoryRuleRequiredLinearHistory: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case requiredLinearHistory = "required_linear_history" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-required-linear-history/type`. + public var _type: Components.Schemas.RepositoryRuleRequiredLinearHistory._TypePayload + /// Creates a new `RepositoryRuleRequiredLinearHistory`. /// /// - Parameters: - /// - alertsThreshold: The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - /// - securityAlertsThreshold: The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - /// - tool: The name of a code scanning tool - public init( - alertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.AlertsThresholdPayload, - securityAlertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.SecurityAlertsThresholdPayload, - tool: Swift.String - ) { - self.alertsThreshold = alertsThreshold - self.securityAlertsThreshold = securityAlertsThreshold - self.tool = tool + /// - _type: + public init(_type: Components.Schemas.RepositoryRuleRequiredLinearHistory._TypePayload) { + self._type = _type } public enum CodingKeys: String, CodingKey { - case alertsThreshold = "alerts_threshold" - case securityAlertsThreshold = "security_alerts_threshold" - case tool + case _type = "type" } } - /// Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + /// Merges must be performed via a merge queue. /// - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning`. - public struct RepositoryRuleCodeScanning: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/type`. + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue`. + public struct RepositoryRuleMergeQueue: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/type`. @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case codeScanning = "code_scanning" + case mergeQueue = "merge_queue" } - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/type`. - public var _type: Components.Schemas.RepositoryRuleCodeScanning._TypePayload - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters`. + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/type`. + public var _type: Components.Schemas.RepositoryRuleMergeQueue._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters`. public struct ParametersPayload: Codable, Hashable, Sendable { - /// Tools that must provide code scanning results for this rule to pass. + /// Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed /// - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters/code_scanning_tools`. - public var codeScanningTools: [Components.Schemas.RepositoryRuleParamsCodeScanningTool] + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/check_response_timeout_minutes`. + public var checkResponseTimeoutMinutes: Swift.Int + /// When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/grouping_strategy`. + @frozen public enum GroupingStrategyPayload: String, Codable, Hashable, Sendable, CaseIterable { + case allgreen = "ALLGREEN" + case headgreen = "HEADGREEN" + } + /// When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/grouping_strategy`. + public var groupingStrategy: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.GroupingStrategyPayload + /// Limit the number of queued pull requests requesting checks and workflow runs at the same time. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/max_entries_to_build`. + public var maxEntriesToBuild: Swift.Int + /// The maximum number of PRs that will be merged together in a group. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/max_entries_to_merge`. + public var maxEntriesToMerge: Swift.Int + /// Method to use when merging changes from queued pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/merge_method`. + @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { + case merge = "MERGE" + case squash = "SQUASH" + case rebase = "REBASE" + } + /// Method to use when merging changes from queued pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/merge_method`. + public var mergeMethod: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.MergeMethodPayload + /// The minimum number of PRs that will be merged together in a group. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/min_entries_to_merge`. + public var minEntriesToMerge: Swift.Int + /// The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters/min_entries_to_merge_wait_minutes`. + public var minEntriesToMergeWaitMinutes: Swift.Int /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - codeScanningTools: Tools that must provide code scanning results for this rule to pass. - public init(codeScanningTools: [Components.Schemas.RepositoryRuleParamsCodeScanningTool]) { - self.codeScanningTools = codeScanningTools + /// - checkResponseTimeoutMinutes: Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed + /// - groupingStrategy: When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + /// - maxEntriesToBuild: Limit the number of queued pull requests requesting checks and workflow runs at the same time. + /// - maxEntriesToMerge: The maximum number of PRs that will be merged together in a group. + /// - mergeMethod: Method to use when merging changes from queued pull requests. + /// - minEntriesToMerge: The minimum number of PRs that will be merged together in a group. + /// - minEntriesToMergeWaitMinutes: The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. + public init( + checkResponseTimeoutMinutes: Swift.Int, + groupingStrategy: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.GroupingStrategyPayload, + maxEntriesToBuild: Swift.Int, + maxEntriesToMerge: Swift.Int, + mergeMethod: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload.MergeMethodPayload, + minEntriesToMerge: Swift.Int, + minEntriesToMergeWaitMinutes: Swift.Int + ) { + self.checkResponseTimeoutMinutes = checkResponseTimeoutMinutes + self.groupingStrategy = groupingStrategy + self.maxEntriesToBuild = maxEntriesToBuild + self.maxEntriesToMerge = maxEntriesToMerge + self.mergeMethod = mergeMethod + self.minEntriesToMerge = minEntriesToMerge + self.minEntriesToMergeWaitMinutes = minEntriesToMergeWaitMinutes } public enum CodingKeys: String, CodingKey { - case codeScanningTools = "code_scanning_tools" + case checkResponseTimeoutMinutes = "check_response_timeout_minutes" + case groupingStrategy = "grouping_strategy" + case maxEntriesToBuild = "max_entries_to_build" + case maxEntriesToMerge = "max_entries_to_merge" + case mergeMethod = "merge_method" + case minEntriesToMerge = "min_entries_to_merge" + case minEntriesToMergeWaitMinutes = "min_entries_to_merge_wait_minutes" } } - /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters`. - public var parameters: Components.Schemas.RepositoryRuleCodeScanning.ParametersPayload? - /// Creates a new `RepositoryRuleCodeScanning`. + /// - Remark: Generated from `#/components/schemas/repository-rule-merge-queue/parameters`. + public var parameters: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload? + /// Creates a new `RepositoryRuleMergeQueue`. /// /// - Parameters: /// - _type: /// - parameters: public init( - _type: Components.Schemas.RepositoryRuleCodeScanning._TypePayload, - parameters: Components.Schemas.RepositoryRuleCodeScanning.ParametersPayload? = nil + _type: Components.Schemas.RepositoryRuleMergeQueue._TypePayload, + parameters: Components.Schemas.RepositoryRuleMergeQueue.ParametersPayload? = nil ) { self._type = _type self.parameters = parameters @@ -13047,4903 +12464,5397 @@ public enum Components { case parameters } } - /// A repository rule. - /// - /// - Remark: Generated from `#/components/schemas/repository-rule`. - @frozen public enum RepositoryRule: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-rule/case1`. - case RepositoryRuleCreation(Components.Schemas.RepositoryRuleCreation) - /// - Remark: Generated from `#/components/schemas/repository-rule/case2`. - case RepositoryRuleUpdate(Components.Schemas.RepositoryRuleUpdate) - /// - Remark: Generated from `#/components/schemas/repository-rule/case3`. - case RepositoryRuleDeletion(Components.Schemas.RepositoryRuleDeletion) - /// - Remark: Generated from `#/components/schemas/repository-rule/case4`. - case RepositoryRuleRequiredLinearHistory(Components.Schemas.RepositoryRuleRequiredLinearHistory) - /// - Remark: Generated from `#/components/schemas/repository-rule/case5`. - case RepositoryRuleMergeQueue(Components.Schemas.RepositoryRuleMergeQueue) - /// - Remark: Generated from `#/components/schemas/repository-rule/case6`. - case RepositoryRuleRequiredDeployments(Components.Schemas.RepositoryRuleRequiredDeployments) - /// - Remark: Generated from `#/components/schemas/repository-rule/case7`. - case RepositoryRuleRequiredSignatures(Components.Schemas.RepositoryRuleRequiredSignatures) - /// - Remark: Generated from `#/components/schemas/repository-rule/case8`. - case RepositoryRulePullRequest(Components.Schemas.RepositoryRulePullRequest) - /// - Remark: Generated from `#/components/schemas/repository-rule/case9`. - case RepositoryRuleRequiredStatusChecks(Components.Schemas.RepositoryRuleRequiredStatusChecks) - /// - Remark: Generated from `#/components/schemas/repository-rule/case10`. - case RepositoryRuleNonFastForward(Components.Schemas.RepositoryRuleNonFastForward) - /// - Remark: Generated from `#/components/schemas/repository-rule/case11`. - case RepositoryRuleCommitMessagePattern(Components.Schemas.RepositoryRuleCommitMessagePattern) - /// - Remark: Generated from `#/components/schemas/repository-rule/case12`. - case RepositoryRuleCommitAuthorEmailPattern(Components.Schemas.RepositoryRuleCommitAuthorEmailPattern) - /// - Remark: Generated from `#/components/schemas/repository-rule/case13`. - case RepositoryRuleCommitterEmailPattern(Components.Schemas.RepositoryRuleCommitterEmailPattern) - /// - Remark: Generated from `#/components/schemas/repository-rule/case14`. - case RepositoryRuleBranchNamePattern(Components.Schemas.RepositoryRuleBranchNamePattern) - /// - Remark: Generated from `#/components/schemas/repository-rule/case15`. - case RepositoryRuleTagNamePattern(Components.Schemas.RepositoryRuleTagNamePattern) - /// - Remark: Generated from `#/components/schemas/repository-rule/case16`. - case RepositoryRuleFilePathRestriction(Components.Schemas.RepositoryRuleFilePathRestriction) - /// - Remark: Generated from `#/components/schemas/repository-rule/case17`. - case RepositoryRuleMaxFilePathLength(Components.Schemas.RepositoryRuleMaxFilePathLength) - /// - Remark: Generated from `#/components/schemas/repository-rule/case18`. - case RepositoryRuleFileExtensionRestriction(Components.Schemas.RepositoryRuleFileExtensionRestriction) - /// - Remark: Generated from `#/components/schemas/repository-rule/case19`. - case RepositoryRuleMaxFileSize(Components.Schemas.RepositoryRuleMaxFileSize) - /// - Remark: Generated from `#/components/schemas/repository-rule/case20`. - case RepositoryRuleWorkflows(Components.Schemas.RepositoryRuleWorkflows) - /// - Remark: Generated from `#/components/schemas/repository-rule/case21`. - case RepositoryRuleCodeScanning(Components.Schemas.RepositoryRuleCodeScanning) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .RepositoryRuleCreation(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleUpdate(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleDeletion(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredLinearHistory(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleMergeQueue(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredDeployments(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredSignatures(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRulePullRequest(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredStatusChecks(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleNonFastForward(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitMessagePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitAuthorEmailPattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitterEmailPattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleBranchNamePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleTagNamePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleFilePathRestriction(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleMaxFilePathLength(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleFileExtensionRestriction(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleMaxFileSize(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleWorkflows(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCodeScanning(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) - } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .RepositoryRuleCreation(value): - try value.encode(to: encoder) - case let .RepositoryRuleUpdate(value): - try value.encode(to: encoder) - case let .RepositoryRuleDeletion(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredLinearHistory(value): - try value.encode(to: encoder) - case let .RepositoryRuleMergeQueue(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredDeployments(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredSignatures(value): - try value.encode(to: encoder) - case let .RepositoryRulePullRequest(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredStatusChecks(value): - try value.encode(to: encoder) - case let .RepositoryRuleNonFastForward(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitMessagePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitAuthorEmailPattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitterEmailPattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleBranchNamePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleTagNamePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleFilePathRestriction(value): - try value.encode(to: encoder) - case let .RepositoryRuleMaxFilePathLength(value): - try value.encode(to: encoder) - case let .RepositoryRuleFileExtensionRestriction(value): - try value.encode(to: encoder) - case let .RepositoryRuleMaxFileSize(value): - try value.encode(to: encoder) - case let .RepositoryRuleWorkflows(value): - try value.encode(to: encoder) - case let .RepositoryRuleCodeScanning(value): - try value.encode(to: encoder) + /// Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments`. + public struct RepositoryRuleRequiredDeployments: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case requiredDeployments = "required_deployments" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/type`. + public var _type: Components.Schemas.RepositoryRuleRequiredDeployments._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// The environments that must be successfully deployed to before branches can be merged. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters/required_deployment_environments`. + public var requiredDeploymentEnvironments: [Swift.String] + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - requiredDeploymentEnvironments: The environments that must be successfully deployed to before branches can be merged. + public init(requiredDeploymentEnvironments: [Swift.String]) { + self.requiredDeploymentEnvironments = requiredDeploymentEnvironments + } + public enum CodingKeys: String, CodingKey { + case requiredDeploymentEnvironments = "required_deployment_environments" } } + /// - Remark: Generated from `#/components/schemas/repository-rule-required-deployments/parameters`. + public var parameters: Components.Schemas.RepositoryRuleRequiredDeployments.ParametersPayload? + /// Creates a new `RepositoryRuleRequiredDeployments`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleRequiredDeployments._TypePayload, + parameters: Components.Schemas.RepositoryRuleRequiredDeployments.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } } - /// A set of rules to apply when specified conditions are met. + /// Commits pushed to matching refs must have verified signatures. /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset`. - public struct RepositoryRuleset: Codable, Hashable, Sendable { - /// The ID of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/id`. - public var id: Swift.Int - /// The name of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/name`. - public var name: Swift.String - /// The target of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/target`. - @frozen public enum TargetPayload: String, Codable, Hashable, Sendable, CaseIterable { - case branch = "branch" - case tag = "tag" - case push = "push" - case repository = "repository" + /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures`. + public struct RepositoryRuleRequiredSignatures: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case requiredSignatures = "required_signatures" } - /// The target of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/target`. - public var target: Components.Schemas.RepositoryRuleset.TargetPayload? - /// The type of the source of the ruleset + /// - Remark: Generated from `#/components/schemas/repository-rule-required-signatures/type`. + public var _type: Components.Schemas.RepositoryRuleRequiredSignatures._TypePayload + /// Creates a new `RepositoryRuleRequiredSignatures`. /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/source_type`. - @frozen public enum SourceTypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case repository = "Repository" - case organization = "Organization" - case enterprise = "Enterprise" + /// - Parameters: + /// - _type: + public init(_type: Components.Schemas.RepositoryRuleRequiredSignatures._TypePayload) { + self._type = _type } - /// The type of the source of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/source_type`. - public var sourceType: Components.Schemas.RepositoryRuleset.SourceTypePayload? - /// The name of the source - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/source`. - public var source: Swift.String - /// - Remark: Generated from `#/components/schemas/repository-ruleset/enforcement`. - public var enforcement: Components.Schemas.RepositoryRuleEnforcement - /// The actors that can bypass the rules in this ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/bypass_actors`. - public var bypassActors: [Components.Schemas.RepositoryRulesetBypassActor]? - /// The bypass type of the user making the API request for this ruleset. This field is only returned when - /// querying the repository-level endpoint. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/current_user_can_bypass`. - @frozen public enum CurrentUserCanBypassPayload: String, Codable, Hashable, Sendable, CaseIterable { - case always = "always" - case pullRequestsOnly = "pull_requests_only" - case never = "never" + public enum CodingKeys: String, CodingKey { + case _type = "type" } - /// The bypass type of the user making the API request for this ruleset. This field is only returned when - /// querying the repository-level endpoint. - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/current_user_can_bypass`. - public var currentUserCanBypass: Components.Schemas.RepositoryRuleset.CurrentUserCanBypassPayload? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/node_id`. - public var nodeId: Swift.String? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links`. - public struct _LinksPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self`. - public struct _SelfPayload: Codable, Hashable, Sendable { - /// The URL of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self/href`. - public var href: Swift.String? - /// Creates a new `_SelfPayload`. - /// - /// - Parameters: - /// - href: The URL of the ruleset - public init(href: Swift.String? = nil) { - self.href = href - } - public enum CodingKeys: String, CodingKey { - case href - } + } + /// Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request`. + public struct RepositoryRulePullRequest: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case pullRequest = "pull_request" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/type`. + public var _type: Components.Schemas.RepositoryRulePullRequest._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/AllowedMergeMethodsPayload`. + @frozen public enum AllowedMergeMethodsPayloadPayload: String, Codable, Hashable, Sendable, CaseIterable { + case merge = "merge" + case squash = "squash" + case rebase = "rebase" } - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self`. - public var _self: Components.Schemas.RepositoryRuleset._LinksPayload._SelfPayload? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html`. - public struct HtmlPayload: Codable, Hashable, Sendable { - /// The html URL of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html/href`. - public var href: Swift.String? - /// Creates a new `HtmlPayload`. - /// - /// - Parameters: - /// - href: The html URL of the ruleset - public init(href: Swift.String? = nil) { - self.href = href - } - public enum CodingKeys: String, CodingKey { - case href - } + /// Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/allowed_merge_methods`. + public typealias AllowedMergeMethodsPayload = [Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayloadPayload] + /// Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/allowed_merge_methods`. + public var allowedMergeMethods: Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayload? + /// Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/automatic_copilot_code_review_enabled`. + public var automaticCopilotCodeReviewEnabled: Swift.Bool? + /// New, reviewable commits pushed will dismiss previous pull request review approvals. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/dismiss_stale_reviews_on_push`. + public var dismissStaleReviewsOnPush: Swift.Bool + /// Require an approving review in pull requests that modify files that have a designated code owner. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/require_code_owner_review`. + public var requireCodeOwnerReview: Swift.Bool + /// Whether the most recent reviewable push must be approved by someone other than the person who pushed it. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/require_last_push_approval`. + public var requireLastPushApproval: Swift.Bool + /// The number of approving reviews that are required before a pull request can be merged. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/required_approving_review_count`. + public var requiredApprovingReviewCount: Swift.Int + /// All conversations on code must be resolved before a pull request can be merged. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters/required_review_thread_resolution`. + public var requiredReviewThreadResolution: Swift.Bool + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - allowedMergeMethods: Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. + /// - automaticCopilotCodeReviewEnabled: Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. + /// - dismissStaleReviewsOnPush: New, reviewable commits pushed will dismiss previous pull request review approvals. + /// - requireCodeOwnerReview: Require an approving review in pull requests that modify files that have a designated code owner. + /// - requireLastPushApproval: Whether the most recent reviewable push must be approved by someone other than the person who pushed it. + /// - requiredApprovingReviewCount: The number of approving reviews that are required before a pull request can be merged. + /// - requiredReviewThreadResolution: All conversations on code must be resolved before a pull request can be merged. + public init( + allowedMergeMethods: Components.Schemas.RepositoryRulePullRequest.ParametersPayload.AllowedMergeMethodsPayload? = nil, + automaticCopilotCodeReviewEnabled: Swift.Bool? = nil, + dismissStaleReviewsOnPush: Swift.Bool, + requireCodeOwnerReview: Swift.Bool, + requireLastPushApproval: Swift.Bool, + requiredApprovingReviewCount: Swift.Int, + requiredReviewThreadResolution: Swift.Bool + ) { + self.allowedMergeMethods = allowedMergeMethods + self.automaticCopilotCodeReviewEnabled = automaticCopilotCodeReviewEnabled + self.dismissStaleReviewsOnPush = dismissStaleReviewsOnPush + self.requireCodeOwnerReview = requireCodeOwnerReview + self.requireLastPushApproval = requireLastPushApproval + self.requiredApprovingReviewCount = requiredApprovingReviewCount + self.requiredReviewThreadResolution = requiredReviewThreadResolution } - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html`. - public var html: Components.Schemas.RepositoryRuleset._LinksPayload.HtmlPayload? - /// Creates a new `_LinksPayload`. + public enum CodingKeys: String, CodingKey { + case allowedMergeMethods = "allowed_merge_methods" + case automaticCopilotCodeReviewEnabled = "automatic_copilot_code_review_enabled" + case dismissStaleReviewsOnPush = "dismiss_stale_reviews_on_push" + case requireCodeOwnerReview = "require_code_owner_review" + case requireLastPushApproval = "require_last_push_approval" + case requiredApprovingReviewCount = "required_approving_review_count" + case requiredReviewThreadResolution = "required_review_thread_resolution" + } + } + /// - Remark: Generated from `#/components/schemas/repository-rule-pull-request/parameters`. + public var parameters: Components.Schemas.RepositoryRulePullRequest.ParametersPayload? + /// Creates a new `RepositoryRulePullRequest`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRulePullRequest._TypePayload, + parameters: Components.Schemas.RepositoryRulePullRequest.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Required status check + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration`. + public struct RepositoryRuleParamsStatusCheckConfiguration: Codable, Hashable, Sendable { + /// The status check context name that must be present on the commit. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration/context`. + public var context: Swift.String + /// The optional integration ID that this status check must originate from. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-status-check-configuration/integration_id`. + public var integrationId: Swift.Int? + /// Creates a new `RepositoryRuleParamsStatusCheckConfiguration`. + /// + /// - Parameters: + /// - context: The status check context name that must be present on the commit. + /// - integrationId: The optional integration ID that this status check must originate from. + public init( + context: Swift.String, + integrationId: Swift.Int? = nil + ) { + self.context = context + self.integrationId = integrationId + } + public enum CodingKeys: String, CodingKey { + case context + case integrationId = "integration_id" + } + } + /// Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks`. + public struct RepositoryRuleRequiredStatusChecks: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case requiredStatusChecks = "required_status_checks" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/type`. + public var _type: Components.Schemas.RepositoryRuleRequiredStatusChecks._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// Allow repositories and branches to be created if a check would otherwise prohibit it. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/do_not_enforce_on_create`. + public var doNotEnforceOnCreate: Swift.Bool? + /// Status checks that are required. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/required_status_checks`. + public var requiredStatusChecks: [Components.Schemas.RepositoryRuleParamsStatusCheckConfiguration] + /// Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters/strict_required_status_checks_policy`. + public var strictRequiredStatusChecksPolicy: Swift.Bool + /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - _self: - /// - html: + /// - doNotEnforceOnCreate: Allow repositories and branches to be created if a check would otherwise prohibit it. + /// - requiredStatusChecks: Status checks that are required. + /// - strictRequiredStatusChecksPolicy: Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. public init( - _self: Components.Schemas.RepositoryRuleset._LinksPayload._SelfPayload? = nil, - html: Components.Schemas.RepositoryRuleset._LinksPayload.HtmlPayload? = nil + doNotEnforceOnCreate: Swift.Bool? = nil, + requiredStatusChecks: [Components.Schemas.RepositoryRuleParamsStatusCheckConfiguration], + strictRequiredStatusChecksPolicy: Swift.Bool ) { - self._self = _self - self.html = html + self.doNotEnforceOnCreate = doNotEnforceOnCreate + self.requiredStatusChecks = requiredStatusChecks + self.strictRequiredStatusChecksPolicy = strictRequiredStatusChecksPolicy } public enum CodingKeys: String, CodingKey { - case _self = "self" - case html + case doNotEnforceOnCreate = "do_not_enforce_on_create" + case requiredStatusChecks = "required_status_checks" + case strictRequiredStatusChecksPolicy = "strict_required_status_checks_policy" } } - /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links`. - public var _links: Components.Schemas.RepositoryRuleset._LinksPayload? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions`. - public struct ConditionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions/value1`. - public var value1: Components.Schemas.RepositoryRulesetConditions? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions/value2`. - public var value2: Components.Schemas.OrgRulesetConditions? - /// Creates a new `ConditionsPayload`. + /// - Remark: Generated from `#/components/schemas/repository-rule-required-status-checks/parameters`. + public var parameters: Components.Schemas.RepositoryRuleRequiredStatusChecks.ParametersPayload? + /// Creates a new `RepositoryRuleRequiredStatusChecks`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleRequiredStatusChecks._TypePayload, + parameters: Components.Schemas.RepositoryRuleRequiredStatusChecks.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Prevent users with push access from force pushing to refs. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward`. + public struct RepositoryRuleNonFastForward: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case nonFastForward = "non_fast_forward" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-non-fast-forward/type`. + public var _type: Components.Schemas.RepositoryRuleNonFastForward._TypePayload + /// Creates a new `RepositoryRuleNonFastForward`. + /// + /// - Parameters: + /// - _type: + public init(_type: Components.Schemas.RepositoryRuleNonFastForward._TypePayload) { + self._type = _type + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + } + } + /// Parameters to be used for the commit_message_pattern rule + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern`. + public struct RepositoryRuleCommitMessagePattern: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case commitMessagePattern = "commit_message_pattern" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/type`. + public var _type: Components.Schemas.RepositoryRuleCommitMessagePattern._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// How this rule will appear to users. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/name`. + public var name: Swift.String? + /// If true, the rule will fail if the pattern matches. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/negate`. + public var negate: Swift.Bool? + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/operator`. + @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case startsWith = "starts_with" + case endsWith = "ends_with" + case contains = "contains" + case regex = "regex" + } + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/operator`. + public var _operator: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload.OperatorPayload + /// The pattern to match with. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters/pattern`. + public var pattern: Swift.String + /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - value1: - /// - value2: + /// - name: How this rule will appear to users. + /// - negate: If true, the rule will fail if the pattern matches. + /// - _operator: The operator to use for matching. + /// - pattern: The pattern to match with. public init( - value1: Components.Schemas.RepositoryRulesetConditions? = nil, - value2: Components.Schemas.OrgRulesetConditions? = nil + name: Swift.String? = nil, + negate: Swift.Bool? = nil, + _operator: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload.OperatorPayload, + pattern: Swift.String ) { - self.value1 = value1 - self.value2 = value2 - } - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self.value1 = try .init(from: decoder) - } catch { - errors.append(error) - } - do { - self.value2 = try .init(from: decoder) - } catch { - errors.append(error) - } - try Swift.DecodingError.verifyAtLeastOneSchemaIsNotNil( - [ - self.value1, - self.value2 - ], - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) + self.name = name + self.negate = negate + self._operator = _operator + self.pattern = pattern } - public func encode(to encoder: any Encoder) throws { - try self.value1?.encode(to: encoder) - try self.value2?.encode(to: encoder) + public enum CodingKeys: String, CodingKey { + case name + case negate + case _operator = "operator" + case pattern } } - /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions`. - public var conditions: Components.Schemas.RepositoryRuleset.ConditionsPayload? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/rules`. - public var rules: [Components.Schemas.RepositoryRule]? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/created_at`. - public var createdAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/repository-ruleset/updated_at`. - public var updatedAt: Foundation.Date? - /// Creates a new `RepositoryRuleset`. + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-message-pattern/parameters`. + public var parameters: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload? + /// Creates a new `RepositoryRuleCommitMessagePattern`. /// /// - Parameters: - /// - id: The ID of the ruleset - /// - name: The name of the ruleset - /// - target: The target of the ruleset - /// - sourceType: The type of the source of the ruleset - /// - source: The name of the source - /// - enforcement: - /// - bypassActors: The actors that can bypass the rules in this ruleset - /// - currentUserCanBypass: The bypass type of the user making the API request for this ruleset. This field is only returned when - /// - nodeId: - /// - _links: - /// - conditions: - /// - rules: - /// - createdAt: - /// - updatedAt: + /// - _type: + /// - parameters: public init( - id: Swift.Int, - name: Swift.String, - target: Components.Schemas.RepositoryRuleset.TargetPayload? = nil, - sourceType: Components.Schemas.RepositoryRuleset.SourceTypePayload? = nil, - source: Swift.String, - enforcement: Components.Schemas.RepositoryRuleEnforcement, - bypassActors: [Components.Schemas.RepositoryRulesetBypassActor]? = nil, - currentUserCanBypass: Components.Schemas.RepositoryRuleset.CurrentUserCanBypassPayload? = nil, - nodeId: Swift.String? = nil, - _links: Components.Schemas.RepositoryRuleset._LinksPayload? = nil, - conditions: Components.Schemas.RepositoryRuleset.ConditionsPayload? = nil, - rules: [Components.Schemas.RepositoryRule]? = nil, - createdAt: Foundation.Date? = nil, - updatedAt: Foundation.Date? = nil + _type: Components.Schemas.RepositoryRuleCommitMessagePattern._TypePayload, + parameters: Components.Schemas.RepositoryRuleCommitMessagePattern.ParametersPayload? = nil ) { - self.id = id - self.name = name - self.target = target - self.sourceType = sourceType - self.source = source - self.enforcement = enforcement - self.bypassActors = bypassActors - self.currentUserCanBypass = currentUserCanBypass - self.nodeId = nodeId - self._links = _links - self.conditions = conditions - self.rules = rules - self.createdAt = createdAt - self.updatedAt = updatedAt + self._type = _type + self.parameters = parameters } public enum CodingKeys: String, CodingKey { - case id - case name - case target - case sourceType = "source_type" - case source - case enforcement - case bypassActors = "bypass_actors" - case currentUserCanBypass = "current_user_can_bypass" - case nodeId = "node_id" - case _links - case conditions - case rules - case createdAt = "created_at" - case updatedAt = "updated_at" + case _type = "type" + case parameters } } - /// A repository rule. + /// Parameters to be used for the commit_author_email_pattern rule /// - /// - Remark: Generated from `#/components/schemas/org-rules`. - @frozen public enum OrgRules: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/org-rules/case1`. - case RepositoryRuleCreation(Components.Schemas.RepositoryRuleCreation) - /// - Remark: Generated from `#/components/schemas/org-rules/case2`. - case RepositoryRuleUpdate(Components.Schemas.RepositoryRuleUpdate) - /// - Remark: Generated from `#/components/schemas/org-rules/case3`. - case RepositoryRuleDeletion(Components.Schemas.RepositoryRuleDeletion) - /// - Remark: Generated from `#/components/schemas/org-rules/case4`. - case RepositoryRuleRequiredLinearHistory(Components.Schemas.RepositoryRuleRequiredLinearHistory) - /// - Remark: Generated from `#/components/schemas/org-rules/case5`. - case RepositoryRuleRequiredDeployments(Components.Schemas.RepositoryRuleRequiredDeployments) - /// - Remark: Generated from `#/components/schemas/org-rules/case6`. - case RepositoryRuleRequiredSignatures(Components.Schemas.RepositoryRuleRequiredSignatures) - /// - Remark: Generated from `#/components/schemas/org-rules/case7`. - case RepositoryRulePullRequest(Components.Schemas.RepositoryRulePullRequest) - /// - Remark: Generated from `#/components/schemas/org-rules/case8`. - case RepositoryRuleRequiredStatusChecks(Components.Schemas.RepositoryRuleRequiredStatusChecks) - /// - Remark: Generated from `#/components/schemas/org-rules/case9`. - case RepositoryRuleNonFastForward(Components.Schemas.RepositoryRuleNonFastForward) - /// - Remark: Generated from `#/components/schemas/org-rules/case10`. - case RepositoryRuleCommitMessagePattern(Components.Schemas.RepositoryRuleCommitMessagePattern) - /// - Remark: Generated from `#/components/schemas/org-rules/case11`. - case RepositoryRuleCommitAuthorEmailPattern(Components.Schemas.RepositoryRuleCommitAuthorEmailPattern) - /// - Remark: Generated from `#/components/schemas/org-rules/case12`. - case RepositoryRuleCommitterEmailPattern(Components.Schemas.RepositoryRuleCommitterEmailPattern) - /// - Remark: Generated from `#/components/schemas/org-rules/case13`. - case RepositoryRuleBranchNamePattern(Components.Schemas.RepositoryRuleBranchNamePattern) - /// - Remark: Generated from `#/components/schemas/org-rules/case14`. - case RepositoryRuleTagNamePattern(Components.Schemas.RepositoryRuleTagNamePattern) - /// - Remark: Generated from `#/components/schemas/org-rules/case15`. - case RepositoryRuleFilePathRestriction(Components.Schemas.RepositoryRuleFilePathRestriction) - /// - Remark: Generated from `#/components/schemas/org-rules/case16`. - case RepositoryRuleMaxFilePathLength(Components.Schemas.RepositoryRuleMaxFilePathLength) - /// - Remark: Generated from `#/components/schemas/org-rules/case17`. - case RepositoryRuleFileExtensionRestriction(Components.Schemas.RepositoryRuleFileExtensionRestriction) - /// - Remark: Generated from `#/components/schemas/org-rules/case18`. - case RepositoryRuleMaxFileSize(Components.Schemas.RepositoryRuleMaxFileSize) - /// - Remark: Generated from `#/components/schemas/org-rules/case19`. - case RepositoryRuleWorkflows(Components.Schemas.RepositoryRuleWorkflows) - /// - Remark: Generated from `#/components/schemas/org-rules/case20`. - case RepositoryRuleCodeScanning(Components.Schemas.RepositoryRuleCodeScanning) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .RepositoryRuleCreation(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleUpdate(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleDeletion(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredLinearHistory(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredDeployments(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredSignatures(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRulePullRequest(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleRequiredStatusChecks(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleNonFastForward(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitMessagePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitAuthorEmailPattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleCommitterEmailPattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleBranchNamePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleTagNamePattern(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleFilePathRestriction(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .RepositoryRuleMaxFilePathLength(try .init(from: decoder)) - return - } catch { - errors.append(error) + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern`. + public struct RepositoryRuleCommitAuthorEmailPattern: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case commitAuthorEmailPattern = "commit_author_email_pattern" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/type`. + public var _type: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// How this rule will appear to users. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/name`. + public var name: Swift.String? + /// If true, the rule will fail if the pattern matches. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/negate`. + public var negate: Swift.Bool? + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/operator`. + @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case startsWith = "starts_with" + case endsWith = "ends_with" + case contains = "contains" + case regex = "regex" } - do { - self = .RepositoryRuleFileExtensionRestriction(try .init(from: decoder)) - return - } catch { - errors.append(error) + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/operator`. + public var _operator: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload.OperatorPayload + /// The pattern to match with. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters/pattern`. + public var pattern: Swift.String + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - name: How this rule will appear to users. + /// - negate: If true, the rule will fail if the pattern matches. + /// - _operator: The operator to use for matching. + /// - pattern: The pattern to match with. + public init( + name: Swift.String? = nil, + negate: Swift.Bool? = nil, + _operator: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload.OperatorPayload, + pattern: Swift.String + ) { + self.name = name + self.negate = negate + self._operator = _operator + self.pattern = pattern } - do { - self = .RepositoryRuleMaxFileSize(try .init(from: decoder)) - return - } catch { - errors.append(error) + public enum CodingKeys: String, CodingKey { + case name + case negate + case _operator = "operator" + case pattern } - do { - self = .RepositoryRuleWorkflows(try .init(from: decoder)) - return - } catch { - errors.append(error) + } + /// - Remark: Generated from `#/components/schemas/repository-rule-commit-author-email-pattern/parameters`. + public var parameters: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload? + /// Creates a new `RepositoryRuleCommitAuthorEmailPattern`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern._TypePayload, + parameters: Components.Schemas.RepositoryRuleCommitAuthorEmailPattern.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Parameters to be used for the committer_email_pattern rule + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern`. + public struct RepositoryRuleCommitterEmailPattern: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case committerEmailPattern = "committer_email_pattern" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/type`. + public var _type: Components.Schemas.RepositoryRuleCommitterEmailPattern._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// How this rule will appear to users. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/name`. + public var name: Swift.String? + /// If true, the rule will fail if the pattern matches. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/negate`. + public var negate: Swift.Bool? + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/operator`. + @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case startsWith = "starts_with" + case endsWith = "ends_with" + case contains = "contains" + case regex = "regex" } - do { - self = .RepositoryRuleCodeScanning(try .init(from: decoder)) - return - } catch { - errors.append(error) + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/operator`. + public var _operator: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload.OperatorPayload + /// The pattern to match with. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters/pattern`. + public var pattern: Swift.String + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - name: How this rule will appear to users. + /// - negate: If true, the rule will fail if the pattern matches. + /// - _operator: The operator to use for matching. + /// - pattern: The pattern to match with. + public init( + name: Swift.String? = nil, + negate: Swift.Bool? = nil, + _operator: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload.OperatorPayload, + pattern: Swift.String + ) { + self.name = name + self.negate = negate + self._operator = _operator + self.pattern = pattern } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) - } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .RepositoryRuleCreation(value): - try value.encode(to: encoder) - case let .RepositoryRuleUpdate(value): - try value.encode(to: encoder) - case let .RepositoryRuleDeletion(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredLinearHistory(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredDeployments(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredSignatures(value): - try value.encode(to: encoder) - case let .RepositoryRulePullRequest(value): - try value.encode(to: encoder) - case let .RepositoryRuleRequiredStatusChecks(value): - try value.encode(to: encoder) - case let .RepositoryRuleNonFastForward(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitMessagePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitAuthorEmailPattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleCommitterEmailPattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleBranchNamePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleTagNamePattern(value): - try value.encode(to: encoder) - case let .RepositoryRuleFilePathRestriction(value): - try value.encode(to: encoder) - case let .RepositoryRuleMaxFilePathLength(value): - try value.encode(to: encoder) - case let .RepositoryRuleFileExtensionRestriction(value): - try value.encode(to: encoder) - case let .RepositoryRuleMaxFileSize(value): - try value.encode(to: encoder) - case let .RepositoryRuleWorkflows(value): - try value.encode(to: encoder) - case let .RepositoryRuleCodeScanning(value): - try value.encode(to: encoder) + public enum CodingKeys: String, CodingKey { + case name + case negate + case _operator = "operator" + case pattern } } - } - /// - Remark: Generated from `#/components/schemas/RuleSuites`. - public struct RuleSuitesPayload: Codable, Hashable, Sendable { - /// The unique identifier of the rule insight. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/id`. - public var id: Swift.Int? - /// The number that identifies the user. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/actor_id`. - public var actorId: Swift.Int? - /// The handle for the GitHub user account. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/actor_name`. - public var actorName: Swift.String? - /// The first commit sha before the push evaluation. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/before_sha`. - public var beforeSha: Swift.String? - /// The last commit sha in the push evaluation. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/after_sha`. - public var afterSha: Swift.String? - /// The ref name that the evaluation ran on. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/ref`. - public var ref: Swift.String? - /// The ID of the repository associated with the rule evaluation. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/repository_id`. - public var repositoryId: Swift.Int? - /// The name of the repository without the `.git` extension. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/repository_name`. - public var repositoryName: Swift.String? - /// - Remark: Generated from `#/components/schemas/RuleSuites/pushed_at`. - public var pushedAt: Foundation.Date? - /// The result of the rule evaluations for rules with the `active` enforcement status. + /// - Remark: Generated from `#/components/schemas/repository-rule-committer-email-pattern/parameters`. + public var parameters: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload? + /// Creates a new `RepositoryRuleCommitterEmailPattern`. /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/result`. - @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { - case pass = "pass" - case fail = "fail" - case bypass = "bypass" + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleCommitterEmailPattern._TypePayload, + parameters: Components.Schemas.RepositoryRuleCommitterEmailPattern.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters } - /// The result of the rule evaluations for rules with the `active` enforcement status. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/result`. - public var result: Components.Schemas.RuleSuitesPayload.ResultPayload? - /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/evaluation_result`. - @frozen public enum EvaluationResultPayload: String, Codable, Hashable, Sendable, CaseIterable { - case pass = "pass" - case fail = "fail" - case bypass = "bypass" + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters } - /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. - /// - /// - Remark: Generated from `#/components/schemas/RuleSuites/evaluation_result`. - public var evaluationResult: Components.Schemas.RuleSuitesPayload.EvaluationResultPayload? - /// Creates a new `RuleSuitesPayload`. + } + /// Parameters to be used for the branch_name_pattern rule + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern`. + public struct RepositoryRuleBranchNamePattern: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case branchNamePattern = "branch_name_pattern" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/type`. + public var _type: Components.Schemas.RepositoryRuleBranchNamePattern._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// How this rule will appear to users. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/name`. + public var name: Swift.String? + /// If true, the rule will fail if the pattern matches. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/negate`. + public var negate: Swift.Bool? + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/operator`. + @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case startsWith = "starts_with" + case endsWith = "ends_with" + case contains = "contains" + case regex = "regex" + } + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/operator`. + public var _operator: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload.OperatorPayload + /// The pattern to match with. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters/pattern`. + public var pattern: Swift.String + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - name: How this rule will appear to users. + /// - negate: If true, the rule will fail if the pattern matches. + /// - _operator: The operator to use for matching. + /// - pattern: The pattern to match with. + public init( + name: Swift.String? = nil, + negate: Swift.Bool? = nil, + _operator: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload.OperatorPayload, + pattern: Swift.String + ) { + self.name = name + self.negate = negate + self._operator = _operator + self.pattern = pattern + } + public enum CodingKeys: String, CodingKey { + case name + case negate + case _operator = "operator" + case pattern + } + } + /// - Remark: Generated from `#/components/schemas/repository-rule-branch-name-pattern/parameters`. + public var parameters: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload? + /// Creates a new `RepositoryRuleBranchNamePattern`. /// /// - Parameters: - /// - id: The unique identifier of the rule insight. - /// - actorId: The number that identifies the user. - /// - actorName: The handle for the GitHub user account. - /// - beforeSha: The first commit sha before the push evaluation. - /// - afterSha: The last commit sha in the push evaluation. - /// - ref: The ref name that the evaluation ran on. - /// - repositoryId: The ID of the repository associated with the rule evaluation. - /// - repositoryName: The name of the repository without the `.git` extension. - /// - pushedAt: - /// - result: The result of the rule evaluations for rules with the `active` enforcement status. - /// - evaluationResult: The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + /// - _type: + /// - parameters: public init( - id: Swift.Int? = nil, - actorId: Swift.Int? = nil, - actorName: Swift.String? = nil, - beforeSha: Swift.String? = nil, - afterSha: Swift.String? = nil, - ref: Swift.String? = nil, - repositoryId: Swift.Int? = nil, - repositoryName: Swift.String? = nil, - pushedAt: Foundation.Date? = nil, - result: Components.Schemas.RuleSuitesPayload.ResultPayload? = nil, - evaluationResult: Components.Schemas.RuleSuitesPayload.EvaluationResultPayload? = nil + _type: Components.Schemas.RepositoryRuleBranchNamePattern._TypePayload, + parameters: Components.Schemas.RepositoryRuleBranchNamePattern.ParametersPayload? = nil ) { - self.id = id - self.actorId = actorId - self.actorName = actorName - self.beforeSha = beforeSha - self.afterSha = afterSha - self.ref = ref - self.repositoryId = repositoryId - self.repositoryName = repositoryName - self.pushedAt = pushedAt - self.result = result - self.evaluationResult = evaluationResult + self._type = _type + self.parameters = parameters } public enum CodingKeys: String, CodingKey { - case id - case actorId = "actor_id" - case actorName = "actor_name" - case beforeSha = "before_sha" - case afterSha = "after_sha" - case ref - case repositoryId = "repository_id" - case repositoryName = "repository_name" - case pushedAt = "pushed_at" - case result - case evaluationResult = "evaluation_result" + case _type = "type" + case parameters } } - /// Response - /// - /// - Remark: Generated from `#/components/schemas/rule-suites`. - public typealias RuleSuites = [Components.Schemas.RuleSuitesPayload] - /// Response + /// Parameters to be used for the tag_name_pattern rule /// - /// - Remark: Generated from `#/components/schemas/rule-suite`. - public struct RuleSuite: Codable, Hashable, Sendable { - /// The unique identifier of the rule insight. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/id`. - public var id: Swift.Int? - /// The number that identifies the user. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/actor_id`. - public var actorId: Swift.Int? - /// The handle for the GitHub user account. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/actor_name`. - public var actorName: Swift.String? - /// The first commit sha before the push evaluation. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/before_sha`. - public var beforeSha: Swift.String? - /// The last commit sha in the push evaluation. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/after_sha`. - public var afterSha: Swift.String? - /// The ref name that the evaluation ran on. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/ref`. - public var ref: Swift.String? - /// The ID of the repository associated with the rule evaluation. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/repository_id`. - public var repositoryId: Swift.Int? - /// The name of the repository without the `.git` extension. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/repository_name`. - public var repositoryName: Swift.String? - /// - Remark: Generated from `#/components/schemas/rule-suite/pushed_at`. - public var pushedAt: Foundation.Date? - /// The result of the rule evaluations for rules with the `active` enforcement status. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/result`. - @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { - case pass = "pass" - case fail = "fail" - case bypass = "bypass" + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern`. + public struct RepositoryRuleTagNamePattern: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case tagNamePattern = "tag_name_pattern" } - /// The result of the rule evaluations for rules with the `active` enforcement status. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/result`. - public var result: Components.Schemas.RuleSuite.ResultPayload? - /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/evaluation_result`. - @frozen public enum EvaluationResultPayload: String, Codable, Hashable, Sendable, CaseIterable { - case pass = "pass" - case fail = "fail" - case bypass = "bypass" + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/type`. + public var _type: Components.Schemas.RepositoryRuleTagNamePattern._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// How this rule will appear to users. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/name`. + public var name: Swift.String? + /// If true, the rule will fail if the pattern matches. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/negate`. + public var negate: Swift.Bool? + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/operator`. + @frozen public enum OperatorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case startsWith = "starts_with" + case endsWith = "ends_with" + case contains = "contains" + case regex = "regex" + } + /// The operator to use for matching. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/operator`. + public var _operator: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload.OperatorPayload + /// The pattern to match with. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters/pattern`. + public var pattern: Swift.String + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - name: How this rule will appear to users. + /// - negate: If true, the rule will fail if the pattern matches. + /// - _operator: The operator to use for matching. + /// - pattern: The pattern to match with. + public init( + name: Swift.String? = nil, + negate: Swift.Bool? = nil, + _operator: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload.OperatorPayload, + pattern: Swift.String + ) { + self.name = name + self.negate = negate + self._operator = _operator + self.pattern = pattern + } + public enum CodingKeys: String, CodingKey { + case name + case negate + case _operator = "operator" + case pattern + } } - /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + /// - Remark: Generated from `#/components/schemas/repository-rule-tag-name-pattern/parameters`. + public var parameters: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload? + /// Creates a new `RepositoryRuleTagNamePattern`. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/evaluation_result`. - public var evaluationResult: Components.Schemas.RuleSuite.EvaluationResultPayload? - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload`. - public struct RuleEvaluationsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source`. - public struct RuleSourcePayload: Codable, Hashable, Sendable { - /// The type of rule source. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/type`. - public var _type: Swift.String? - /// The ID of the rule source. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/id`. - public var id: Swift.Int? - /// The name of the rule source. - /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/name`. - public var name: Swift.String? - /// Creates a new `RuleSourcePayload`. - /// - /// - Parameters: - /// - _type: The type of rule source. - /// - id: The ID of the rule source. - /// - name: The name of the rule source. - public init( - _type: Swift.String? = nil, - id: Swift.Int? = nil, - name: Swift.String? = nil - ) { - self._type = _type - self.id = id - self.name = name - } - public enum CodingKeys: String, CodingKey { - case _type = "type" - case id - case name - } - } - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source`. - public var ruleSource: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.RuleSourcePayload? - /// The enforcement level of this rule source. + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleTagNamePattern._TypePayload, + parameters: Components.Schemas.RepositoryRuleTagNamePattern.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction`. + public struct RepositoryRuleFilePathRestriction: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case filePathRestriction = "file_path_restriction" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/type`. + public var _type: Components.Schemas.RepositoryRuleFilePathRestriction._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// The file paths that are restricted from being pushed to the commit graph. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/enforcement`. - @frozen public enum EnforcementPayload: String, Codable, Hashable, Sendable, CaseIterable { - case active = "active" - case evaluate = "evaluate" - case deletedRuleset = "deleted ruleset" + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters/restricted_file_paths`. + public var restrictedFilePaths: [Swift.String] + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - restrictedFilePaths: The file paths that are restricted from being pushed to the commit graph. + public init(restrictedFilePaths: [Swift.String]) { + self.restrictedFilePaths = restrictedFilePaths } - /// The enforcement level of this rule source. + public enum CodingKeys: String, CodingKey { + case restrictedFilePaths = "restricted_file_paths" + } + } + /// - Remark: Generated from `#/components/schemas/repository-rule-file-path-restriction/parameters`. + public var parameters: Components.Schemas.RepositoryRuleFilePathRestriction.ParametersPayload? + /// Creates a new `RepositoryRuleFilePathRestriction`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleFilePathRestriction._TypePayload, + parameters: Components.Schemas.RepositoryRuleFilePathRestriction.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length`. + public struct RepositoryRuleMaxFilePathLength: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case maxFilePathLength = "max_file_path_length" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/type`. + public var _type: Components.Schemas.RepositoryRuleMaxFilePathLength._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// The maximum amount of characters allowed in file paths. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/enforcement`. - public var enforcement: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.EnforcementPayload? - /// The result of the evaluation of the individual rule. + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters/max_file_path_length`. + public var maxFilePathLength: Swift.Int + /// Creates a new `ParametersPayload`. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/result`. - @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { - case pass = "pass" - case fail = "fail" + /// - Parameters: + /// - maxFilePathLength: The maximum amount of characters allowed in file paths. + public init(maxFilePathLength: Swift.Int) { + self.maxFilePathLength = maxFilePathLength } - /// The result of the evaluation of the individual rule. + public enum CodingKeys: String, CodingKey { + case maxFilePathLength = "max_file_path_length" + } + } + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-path-length/parameters`. + public var parameters: Components.Schemas.RepositoryRuleMaxFilePathLength.ParametersPayload? + /// Creates a new `RepositoryRuleMaxFilePathLength`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleMaxFilePathLength._TypePayload, + parameters: Components.Schemas.RepositoryRuleMaxFilePathLength.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Prevent commits that include files with specified file extensions from being pushed to the commit graph. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction`. + public struct RepositoryRuleFileExtensionRestriction: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case fileExtensionRestriction = "file_extension_restriction" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/type`. + public var _type: Components.Schemas.RepositoryRuleFileExtensionRestriction._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// The file extensions that are restricted from being pushed to the commit graph. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/result`. - public var result: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.ResultPayload? - /// The type of rule. + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters/restricted_file_extensions`. + public var restrictedFileExtensions: [Swift.String] + /// Creates a new `ParametersPayload`. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_type`. - public var ruleType: Swift.String? - /// The detailed failure message for the rule. Null if the rule passed. + /// - Parameters: + /// - restrictedFileExtensions: The file extensions that are restricted from being pushed to the commit graph. + public init(restrictedFileExtensions: [Swift.String]) { + self.restrictedFileExtensions = restrictedFileExtensions + } + public enum CodingKeys: String, CodingKey { + case restrictedFileExtensions = "restricted_file_extensions" + } + } + /// - Remark: Generated from `#/components/schemas/repository-rule-file-extension-restriction/parameters`. + public var parameters: Components.Schemas.RepositoryRuleFileExtensionRestriction.ParametersPayload? + /// Creates a new `RepositoryRuleFileExtensionRestriction`. + /// + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleFileExtensionRestriction._TypePayload, + parameters: Components.Schemas.RepositoryRuleFileExtensionRestriction.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size`. + public struct RepositoryRuleMaxFileSize: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case maxFileSize = "max_file_size" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/type`. + public var _type: Components.Schemas.RepositoryRuleMaxFileSize._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). /// - /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/details`. - public var details: Swift.String? - /// Creates a new `RuleEvaluationsPayloadPayload`. + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters/max_file_size`. + public var maxFileSize: Swift.Int + /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - ruleSource: - /// - enforcement: The enforcement level of this rule source. - /// - result: The result of the evaluation of the individual rule. - /// - ruleType: The type of rule. - /// - details: The detailed failure message for the rule. Null if the rule passed. - public init( - ruleSource: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.RuleSourcePayload? = nil, - enforcement: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.EnforcementPayload? = nil, - result: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.ResultPayload? = nil, - ruleType: Swift.String? = nil, - details: Swift.String? = nil - ) { - self.ruleSource = ruleSource - self.enforcement = enforcement - self.result = result - self.ruleType = ruleType - self.details = details + /// - maxFileSize: The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). + public init(maxFileSize: Swift.Int) { + self.maxFileSize = maxFileSize } public enum CodingKeys: String, CodingKey { - case ruleSource = "rule_source" - case enforcement - case result - case ruleType = "rule_type" - case details + case maxFileSize = "max_file_size" } } - /// Details on the evaluated rules. + /// - Remark: Generated from `#/components/schemas/repository-rule-max-file-size/parameters`. + public var parameters: Components.Schemas.RepositoryRuleMaxFileSize.ParametersPayload? + /// Creates a new `RepositoryRuleMaxFileSize`. /// - /// - Remark: Generated from `#/components/schemas/rule-suite/rule_evaluations`. - public typealias RuleEvaluationsPayload = [Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload] - /// Details on the evaluated rules. + /// - Parameters: + /// - _type: + /// - parameters: + public init( + _type: Components.Schemas.RepositoryRuleMaxFileSize._TypePayload, + parameters: Components.Schemas.RepositoryRuleMaxFileSize.ParametersPayload? = nil + ) { + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// A workflow that must run for this rule to pass + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference`. + public struct RepositoryRuleParamsWorkflowFileReference: Codable, Hashable, Sendable { + /// The path to the workflow file /// - /// - Remark: Generated from `#/components/schemas/rule-suite/rule_evaluations`. - public var ruleEvaluations: Components.Schemas.RuleSuite.RuleEvaluationsPayload? - /// Creates a new `RuleSuite`. + /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/path`. + public var path: Swift.String + /// The ref (branch or tag) of the workflow file to use + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/ref`. + public var ref: Swift.String? + /// The ID of the repository where the workflow is defined + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/repository_id`. + public var repositoryId: Swift.Int + /// The commit SHA of the workflow file to use + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-workflow-file-reference/sha`. + public var sha: Swift.String? + /// Creates a new `RepositoryRuleParamsWorkflowFileReference`. /// /// - Parameters: - /// - id: The unique identifier of the rule insight. - /// - actorId: The number that identifies the user. - /// - actorName: The handle for the GitHub user account. - /// - beforeSha: The first commit sha before the push evaluation. - /// - afterSha: The last commit sha in the push evaluation. - /// - ref: The ref name that the evaluation ran on. - /// - repositoryId: The ID of the repository associated with the rule evaluation. - /// - repositoryName: The name of the repository without the `.git` extension. - /// - pushedAt: - /// - result: The result of the rule evaluations for rules with the `active` enforcement status. - /// - evaluationResult: The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. - /// - ruleEvaluations: Details on the evaluated rules. + /// - path: The path to the workflow file + /// - ref: The ref (branch or tag) of the workflow file to use + /// - repositoryId: The ID of the repository where the workflow is defined + /// - sha: The commit SHA of the workflow file to use public init( - id: Swift.Int? = nil, - actorId: Swift.Int? = nil, - actorName: Swift.String? = nil, - beforeSha: Swift.String? = nil, - afterSha: Swift.String? = nil, + path: Swift.String, ref: Swift.String? = nil, - repositoryId: Swift.Int? = nil, - repositoryName: Swift.String? = nil, - pushedAt: Foundation.Date? = nil, - result: Components.Schemas.RuleSuite.ResultPayload? = nil, - evaluationResult: Components.Schemas.RuleSuite.EvaluationResultPayload? = nil, - ruleEvaluations: Components.Schemas.RuleSuite.RuleEvaluationsPayload? = nil + repositoryId: Swift.Int, + sha: Swift.String? = nil ) { - self.id = id - self.actorId = actorId - self.actorName = actorName - self.beforeSha = beforeSha - self.afterSha = afterSha + self.path = path self.ref = ref self.repositoryId = repositoryId - self.repositoryName = repositoryName - self.pushedAt = pushedAt - self.result = result - self.evaluationResult = evaluationResult - self.ruleEvaluations = ruleEvaluations + self.sha = sha } public enum CodingKeys: String, CodingKey { - case id - case actorId = "actor_id" - case actorName = "actor_name" - case beforeSha = "before_sha" - case afterSha = "after_sha" + case path case ref case repositoryId = "repository_id" - case repositoryName = "repository_name" - case pushedAt = "pushed_at" - case result - case evaluationResult = "evaluation_result" - case ruleEvaluations = "rule_evaluations" + case sha } } - /// The historical version of a ruleset + /// Require all changes made to a targeted branch to pass the specified workflows before they can be merged. /// - /// - Remark: Generated from `#/components/schemas/ruleset-version`. - public struct RulesetVersion: Codable, Hashable, Sendable { - /// The ID of the previous version of the ruleset - /// - /// - Remark: Generated from `#/components/schemas/ruleset-version/version_id`. - public var versionId: Swift.Int - /// The actor who updated the ruleset - /// - /// - Remark: Generated from `#/components/schemas/ruleset-version/actor`. - public struct ActorPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/ruleset-version/actor/id`. - public var id: Swift.Int? - /// - Remark: Generated from `#/components/schemas/ruleset-version/actor/type`. - public var _type: Swift.String? - /// Creates a new `ActorPayload`. + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows`. + public struct RepositoryRuleWorkflows: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case workflows = "workflows" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/type`. + public var _type: Components.Schemas.RepositoryRuleWorkflows._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// Allow repositories and branches to be created if a check would otherwise prohibit it. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters/do_not_enforce_on_create`. + public var doNotEnforceOnCreate: Swift.Bool? + /// Workflows that must pass for this rule to pass. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters/workflows`. + public var workflows: [Components.Schemas.RepositoryRuleParamsWorkflowFileReference] + /// Creates a new `ParametersPayload`. /// /// - Parameters: - /// - id: - /// - _type: + /// - doNotEnforceOnCreate: Allow repositories and branches to be created if a check would otherwise prohibit it. + /// - workflows: Workflows that must pass for this rule to pass. public init( - id: Swift.Int? = nil, - _type: Swift.String? = nil + doNotEnforceOnCreate: Swift.Bool? = nil, + workflows: [Components.Schemas.RepositoryRuleParamsWorkflowFileReference] ) { - self.id = id - self._type = _type + self.doNotEnforceOnCreate = doNotEnforceOnCreate + self.workflows = workflows } public enum CodingKeys: String, CodingKey { - case id - case _type = "type" + case doNotEnforceOnCreate = "do_not_enforce_on_create" + case workflows } } - /// The actor who updated the ruleset - /// - /// - Remark: Generated from `#/components/schemas/ruleset-version/actor`. - public var actor: Components.Schemas.RulesetVersion.ActorPayload - /// - Remark: Generated from `#/components/schemas/ruleset-version/updated_at`. - public var updatedAt: Foundation.Date - /// Creates a new `RulesetVersion`. + /// - Remark: Generated from `#/components/schemas/repository-rule-workflows/parameters`. + public var parameters: Components.Schemas.RepositoryRuleWorkflows.ParametersPayload? + /// Creates a new `RepositoryRuleWorkflows`. /// /// - Parameters: - /// - versionId: The ID of the previous version of the ruleset - /// - actor: The actor who updated the ruleset - /// - updatedAt: + /// - _type: + /// - parameters: public init( - versionId: Swift.Int, - actor: Components.Schemas.RulesetVersion.ActorPayload, - updatedAt: Foundation.Date + _type: Components.Schemas.RepositoryRuleWorkflows._TypePayload, + parameters: Components.Schemas.RepositoryRuleWorkflows.ParametersPayload? = nil ) { - self.versionId = versionId - self.actor = actor - self.updatedAt = updatedAt + self._type = _type + self.parameters = parameters } public enum CodingKeys: String, CodingKey { - case versionId = "version_id" - case actor - case updatedAt = "updated_at" + case _type = "type" + case parameters } } - /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state`. - public struct RulesetVersionWithState: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value1`. - public var value1: Components.Schemas.RulesetVersion - /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2`. - public struct Value2Payload: Codable, Hashable, Sendable { - /// The state of the ruleset version - /// - /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2/state`. - public var state: OpenAPIRuntime.OpenAPIObjectContainer - /// Creates a new `Value2Payload`. - /// - /// - Parameters: - /// - state: The state of the ruleset version - public init(state: OpenAPIRuntime.OpenAPIObjectContainer) { - self.state = state - } - public enum CodingKeys: String, CodingKey { - case state - } + /// A tool that must provide code scanning results for this rule to pass. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool`. + public struct RepositoryRuleParamsCodeScanningTool: Codable, Hashable, Sendable { + /// The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/alerts_threshold`. + @frozen public enum AlertsThresholdPayload: String, Codable, Hashable, Sendable, CaseIterable { + case none = "none" + case errors = "errors" + case errorsAndWarnings = "errors_and_warnings" + case all = "all" } - /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2`. - public var value2: Components.Schemas.RulesetVersionWithState.Value2Payload - /// Creates a new `RulesetVersionWithState`. + /// The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/alerts_threshold`. + public var alertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.AlertsThresholdPayload + /// The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/security_alerts_threshold`. + @frozen public enum SecurityAlertsThresholdPayload: String, Codable, Hashable, Sendable, CaseIterable { + case none = "none" + case critical = "critical" + case highOrHigher = "high_or_higher" + case mediumOrHigher = "medium_or_higher" + case all = "all" + } + /// The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/security_alerts_threshold`. + public var securityAlertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.SecurityAlertsThresholdPayload + /// The name of a code scanning tool + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-params-code-scanning-tool/tool`. + public var tool: Swift.String + /// Creates a new `RepositoryRuleParamsCodeScanningTool`. /// /// - Parameters: - /// - value1: - /// - value2: + /// - alertsThreshold: The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// - securityAlertsThreshold: The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + /// - tool: The name of a code scanning tool public init( - value1: Components.Schemas.RulesetVersion, - value2: Components.Schemas.RulesetVersionWithState.Value2Payload + alertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.AlertsThresholdPayload, + securityAlertsThreshold: Components.Schemas.RepositoryRuleParamsCodeScanningTool.SecurityAlertsThresholdPayload, + tool: Swift.String ) { - self.value1 = value1 - self.value2 = value2 - } - public init(from decoder: any Decoder) throws { - self.value1 = try .init(from: decoder) - self.value2 = try .init(from: decoder) + self.alertsThreshold = alertsThreshold + self.securityAlertsThreshold = securityAlertsThreshold + self.tool = tool } - public func encode(to encoder: any Encoder) throws { - try self.value1.encode(to: encoder) - try self.value2.encode(to: encoder) + public enum CodingKeys: String, CodingKey { + case alertsThreshold = "alerts_threshold" + case securityAlertsThreshold = "security_alerts_threshold" + case tool } } - /// The type of reviewer. - /// - /// - Remark: Generated from `#/components/schemas/deployment-reviewer-type`. - @frozen public enum DeploymentReviewerType: String, Codable, Hashable, Sendable, CaseIterable { - case user = "User" - case team = "Team" - } - /// A request for a specific ref(branch,sha,tag) to be deployed - /// - /// - Remark: Generated from `#/components/schemas/deployment`. - public struct Deployment: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/deployment/url`. - public var url: Swift.String - /// Unique identifier of the deployment - /// - /// - Remark: Generated from `#/components/schemas/deployment/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/deployment/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/deployment/sha`. - public var sha: Swift.String - /// The ref to deploy. This can be a branch, tag, or sha. - /// - /// - Remark: Generated from `#/components/schemas/deployment/ref`. - public var ref: Swift.String - /// Parameter to specify a task to execute - /// - /// - Remark: Generated from `#/components/schemas/deployment/task`. - public var task: Swift.String - /// - Remark: Generated from `#/components/schemas/deployment/payload`. - @frozen public enum PayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/deployment/payload/case1`. - public struct Case1Payload: Codable, Hashable, Sendable { - /// A container of undocumented properties. - public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer - /// Creates a new `Case1Payload`. - /// - /// - Parameters: - /// - additionalProperties: A container of undocumented properties. - public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { - self.additionalProperties = additionalProperties - } - public init(from decoder: any Decoder) throws { - additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) - } - public func encode(to encoder: any Encoder) throws { - try encoder.encodeAdditionalProperties(additionalProperties) - } - } - /// - Remark: Generated from `#/components/schemas/deployment/payload/case1`. - case case1(Components.Schemas.Deployment.PayloadPayload.Case1Payload) - /// - Remark: Generated from `#/components/schemas/deployment/payload/case2`. - case case2(Swift.String) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .case1(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .case2(try decoder.decodeFromSingleValueContainer()) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) + /// Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning`. + public struct RepositoryRuleCodeScanning: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case codeScanning = "code_scanning" + } + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/type`. + public var _type: Components.Schemas.RepositoryRuleCodeScanning._TypePayload + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters`. + public struct ParametersPayload: Codable, Hashable, Sendable { + /// Tools that must provide code scanning results for this rule to pass. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters/code_scanning_tools`. + public var codeScanningTools: [Components.Schemas.RepositoryRuleParamsCodeScanningTool] + /// Creates a new `ParametersPayload`. + /// + /// - Parameters: + /// - codeScanningTools: Tools that must provide code scanning results for this rule to pass. + public init(codeScanningTools: [Components.Schemas.RepositoryRuleParamsCodeScanningTool]) { + self.codeScanningTools = codeScanningTools } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .case1(value): - try value.encode(to: encoder) - case let .case2(value): - try encoder.encodeToSingleValueContainer(value) - } + public enum CodingKeys: String, CodingKey { + case codeScanningTools = "code_scanning_tools" } } - /// - Remark: Generated from `#/components/schemas/deployment/payload`. - public var payload: Components.Schemas.Deployment.PayloadPayload - /// - Remark: Generated from `#/components/schemas/deployment/original_environment`. - public var originalEnvironment: Swift.String? - /// Name for the target deployment environment. - /// - /// - Remark: Generated from `#/components/schemas/deployment/environment`. - public var environment: Swift.String - /// - Remark: Generated from `#/components/schemas/deployment/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/deployment/creator`. - public var creator: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/deployment/created_at`. - public var createdAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/deployment/updated_at`. - public var updatedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/deployment/statuses_url`. - public var statusesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/deployment/repository_url`. - public var repositoryUrl: Swift.String - /// Specifies if the given environment is will no longer exist at some point in the future. Default: false. - /// - /// - Remark: Generated from `#/components/schemas/deployment/transient_environment`. - public var transientEnvironment: Swift.Bool? - /// Specifies if the given environment is one that end-users directly interact with. Default: false. - /// - /// - Remark: Generated from `#/components/schemas/deployment/production_environment`. - public var productionEnvironment: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/deployment/performed_via_github_app`. - public var performedViaGithubApp: Components.Schemas.NullableIntegration? - /// Creates a new `Deployment`. + /// - Remark: Generated from `#/components/schemas/repository-rule-code-scanning/parameters`. + public var parameters: Components.Schemas.RepositoryRuleCodeScanning.ParametersPayload? + /// Creates a new `RepositoryRuleCodeScanning`. /// /// - Parameters: - /// - url: - /// - id: Unique identifier of the deployment - /// - nodeId: - /// - sha: - /// - ref: The ref to deploy. This can be a branch, tag, or sha. - /// - task: Parameter to specify a task to execute - /// - payload: - /// - originalEnvironment: - /// - environment: Name for the target deployment environment. - /// - description: - /// - creator: - /// - createdAt: - /// - updatedAt: - /// - statusesUrl: - /// - repositoryUrl: - /// - transientEnvironment: Specifies if the given environment is will no longer exist at some point in the future. Default: false. - /// - productionEnvironment: Specifies if the given environment is one that end-users directly interact with. Default: false. - /// - performedViaGithubApp: + /// - _type: + /// - parameters: public init( - url: Swift.String, - id: Swift.Int64, - nodeId: Swift.String, - sha: Swift.String, - ref: Swift.String, - task: Swift.String, - payload: Components.Schemas.Deployment.PayloadPayload, - originalEnvironment: Swift.String? = nil, - environment: Swift.String, - description: Swift.String? = nil, - creator: Components.Schemas.NullableSimpleUser? = nil, - createdAt: Foundation.Date, - updatedAt: Foundation.Date, - statusesUrl: Swift.String, - repositoryUrl: Swift.String, - transientEnvironment: Swift.Bool? = nil, - productionEnvironment: Swift.Bool? = nil, - performedViaGithubApp: Components.Schemas.NullableIntegration? = nil + _type: Components.Schemas.RepositoryRuleCodeScanning._TypePayload, + parameters: Components.Schemas.RepositoryRuleCodeScanning.ParametersPayload? = nil ) { - self.url = url - self.id = id - self.nodeId = nodeId - self.sha = sha - self.ref = ref - self.task = task - self.payload = payload - self.originalEnvironment = originalEnvironment - self.environment = environment - self.description = description - self.creator = creator - self.createdAt = createdAt - self.updatedAt = updatedAt - self.statusesUrl = statusesUrl - self.repositoryUrl = repositoryUrl - self.transientEnvironment = transientEnvironment - self.productionEnvironment = productionEnvironment - self.performedViaGithubApp = performedViaGithubApp + self._type = _type + self.parameters = parameters + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case parameters + } + } + /// A repository rule. + /// + /// - Remark: Generated from `#/components/schemas/repository-rule`. + @frozen public enum RepositoryRule: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-rule/case1`. + case RepositoryRuleCreation(Components.Schemas.RepositoryRuleCreation) + /// - Remark: Generated from `#/components/schemas/repository-rule/case2`. + case RepositoryRuleUpdate(Components.Schemas.RepositoryRuleUpdate) + /// - Remark: Generated from `#/components/schemas/repository-rule/case3`. + case RepositoryRuleDeletion(Components.Schemas.RepositoryRuleDeletion) + /// - Remark: Generated from `#/components/schemas/repository-rule/case4`. + case RepositoryRuleRequiredLinearHistory(Components.Schemas.RepositoryRuleRequiredLinearHistory) + /// - Remark: Generated from `#/components/schemas/repository-rule/case5`. + case RepositoryRuleMergeQueue(Components.Schemas.RepositoryRuleMergeQueue) + /// - Remark: Generated from `#/components/schemas/repository-rule/case6`. + case RepositoryRuleRequiredDeployments(Components.Schemas.RepositoryRuleRequiredDeployments) + /// - Remark: Generated from `#/components/schemas/repository-rule/case7`. + case RepositoryRuleRequiredSignatures(Components.Schemas.RepositoryRuleRequiredSignatures) + /// - Remark: Generated from `#/components/schemas/repository-rule/case8`. + case RepositoryRulePullRequest(Components.Schemas.RepositoryRulePullRequest) + /// - Remark: Generated from `#/components/schemas/repository-rule/case9`. + case RepositoryRuleRequiredStatusChecks(Components.Schemas.RepositoryRuleRequiredStatusChecks) + /// - Remark: Generated from `#/components/schemas/repository-rule/case10`. + case RepositoryRuleNonFastForward(Components.Schemas.RepositoryRuleNonFastForward) + /// - Remark: Generated from `#/components/schemas/repository-rule/case11`. + case RepositoryRuleCommitMessagePattern(Components.Schemas.RepositoryRuleCommitMessagePattern) + /// - Remark: Generated from `#/components/schemas/repository-rule/case12`. + case RepositoryRuleCommitAuthorEmailPattern(Components.Schemas.RepositoryRuleCommitAuthorEmailPattern) + /// - Remark: Generated from `#/components/schemas/repository-rule/case13`. + case RepositoryRuleCommitterEmailPattern(Components.Schemas.RepositoryRuleCommitterEmailPattern) + /// - Remark: Generated from `#/components/schemas/repository-rule/case14`. + case RepositoryRuleBranchNamePattern(Components.Schemas.RepositoryRuleBranchNamePattern) + /// - Remark: Generated from `#/components/schemas/repository-rule/case15`. + case RepositoryRuleTagNamePattern(Components.Schemas.RepositoryRuleTagNamePattern) + /// - Remark: Generated from `#/components/schemas/repository-rule/case16`. + case RepositoryRuleFilePathRestriction(Components.Schemas.RepositoryRuleFilePathRestriction) + /// - Remark: Generated from `#/components/schemas/repository-rule/case17`. + case RepositoryRuleMaxFilePathLength(Components.Schemas.RepositoryRuleMaxFilePathLength) + /// - Remark: Generated from `#/components/schemas/repository-rule/case18`. + case RepositoryRuleFileExtensionRestriction(Components.Schemas.RepositoryRuleFileExtensionRestriction) + /// - Remark: Generated from `#/components/schemas/repository-rule/case19`. + case RepositoryRuleMaxFileSize(Components.Schemas.RepositoryRuleMaxFileSize) + /// - Remark: Generated from `#/components/schemas/repository-rule/case20`. + case RepositoryRuleWorkflows(Components.Schemas.RepositoryRuleWorkflows) + /// - Remark: Generated from `#/components/schemas/repository-rule/case21`. + case RepositoryRuleCodeScanning(Components.Schemas.RepositoryRuleCodeScanning) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .RepositoryRuleCreation(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleUpdate(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleDeletion(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredLinearHistory(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleMergeQueue(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredDeployments(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredSignatures(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRulePullRequest(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredStatusChecks(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleNonFastForward(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitMessagePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitAuthorEmailPattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitterEmailPattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleBranchNamePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleTagNamePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleFilePathRestriction(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleMaxFilePathLength(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleFileExtensionRestriction(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleMaxFileSize(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleWorkflows(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCodeScanning(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) } - public enum CodingKeys: String, CodingKey { - case url - case id - case nodeId = "node_id" - case sha - case ref - case task - case payload - case originalEnvironment = "original_environment" - case environment - case description - case creator - case createdAt = "created_at" - case updatedAt = "updated_at" - case statusesUrl = "statuses_url" - case repositoryUrl = "repository_url" - case transientEnvironment = "transient_environment" - case productionEnvironment = "production_environment" - case performedViaGithubApp = "performed_via_github_app" + public func encode(to encoder: any Encoder) throws { + switch self { + case let .RepositoryRuleCreation(value): + try value.encode(to: encoder) + case let .RepositoryRuleUpdate(value): + try value.encode(to: encoder) + case let .RepositoryRuleDeletion(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredLinearHistory(value): + try value.encode(to: encoder) + case let .RepositoryRuleMergeQueue(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredDeployments(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredSignatures(value): + try value.encode(to: encoder) + case let .RepositoryRulePullRequest(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredStatusChecks(value): + try value.encode(to: encoder) + case let .RepositoryRuleNonFastForward(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitMessagePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitAuthorEmailPattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitterEmailPattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleBranchNamePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleTagNamePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleFilePathRestriction(value): + try value.encode(to: encoder) + case let .RepositoryRuleMaxFilePathLength(value): + try value.encode(to: encoder) + case let .RepositoryRuleFileExtensionRestriction(value): + try value.encode(to: encoder) + case let .RepositoryRuleMaxFileSize(value): + try value.encode(to: encoder) + case let .RepositoryRuleWorkflows(value): + try value.encode(to: encoder) + case let .RepositoryRuleCodeScanning(value): + try value.encode(to: encoder) + } } } - /// Activity + /// A set of rules to apply when specified conditions are met. /// - /// - Remark: Generated from `#/components/schemas/activity`. - public struct Activity: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/activity/id`. - public var id: Swift.Int - /// - Remark: Generated from `#/components/schemas/activity/node_id`. - public var nodeId: Swift.String - /// The SHA of the commit before the activity. - /// - /// - Remark: Generated from `#/components/schemas/activity/before`. - public var before: Swift.String - /// The SHA of the commit after the activity. - /// - /// - Remark: Generated from `#/components/schemas/activity/after`. - public var after: Swift.String - /// The full Git reference, formatted as `refs/heads/`. - /// - /// - Remark: Generated from `#/components/schemas/activity/ref`. - public var ref: Swift.String - /// The time when the activity occurred. - /// - /// - Remark: Generated from `#/components/schemas/activity/timestamp`. - public var timestamp: Foundation.Date - /// The type of the activity that was performed. - /// - /// - Remark: Generated from `#/components/schemas/activity/activity_type`. - @frozen public enum ActivityTypePayload: String, Codable, Hashable, Sendable, CaseIterable { - case push = "push" - case forcePush = "force_push" - case branchDeletion = "branch_deletion" - case branchCreation = "branch_creation" - case prMerge = "pr_merge" - case mergeQueueMerge = "merge_queue_merge" - } - /// The type of the activity that was performed. - /// - /// - Remark: Generated from `#/components/schemas/activity/activity_type`. - public var activityType: Components.Schemas.Activity.ActivityTypePayload - /// - Remark: Generated from `#/components/schemas/activity/actor`. - public var actor: Components.Schemas.NullableSimpleUser? - /// Creates a new `Activity`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset`. + public struct RepositoryRuleset: Codable, Hashable, Sendable { + /// The ID of the ruleset /// - /// - Parameters: - /// - id: - /// - nodeId: - /// - before: The SHA of the commit before the activity. - /// - after: The SHA of the commit after the activity. - /// - ref: The full Git reference, formatted as `refs/heads/`. - /// - timestamp: The time when the activity occurred. - /// - activityType: The type of the activity that was performed. - /// - actor: - public init( - id: Swift.Int, - nodeId: Swift.String, - before: Swift.String, - after: Swift.String, - ref: Swift.String, - timestamp: Foundation.Date, - activityType: Components.Schemas.Activity.ActivityTypePayload, - actor: Components.Schemas.NullableSimpleUser? = nil - ) { - self.id = id - self.nodeId = nodeId - self.before = before - self.after = after - self.ref = ref - self.timestamp = timestamp - self.activityType = activityType - self.actor = actor - } - public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" - case before - case after - case ref - case timestamp - case activityType = "activity_type" - case actor - } - } - /// An autolink reference. - /// - /// - Remark: Generated from `#/components/schemas/autolink`. - public struct Autolink: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/autolink/id`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset/id`. public var id: Swift.Int - /// The prefix of a key that is linkified. - /// - /// - Remark: Generated from `#/components/schemas/autolink/key_prefix`. - public var keyPrefix: Swift.String - /// A template for the target URL that is generated if a key was found. - /// - /// - Remark: Generated from `#/components/schemas/autolink/url_template`. - public var urlTemplate: Swift.String - /// Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. - /// - /// - Remark: Generated from `#/components/schemas/autolink/is_alphanumeric`. - public var isAlphanumeric: Swift.Bool - /// - Remark: Generated from `#/components/schemas/autolink/updated_at`. - public var updatedAt: Foundation.Date? - /// Creates a new `Autolink`. + /// The name of the ruleset /// - /// - Parameters: - /// - id: - /// - keyPrefix: The prefix of a key that is linkified. - /// - urlTemplate: A template for the target URL that is generated if a key was found. - /// - isAlphanumeric: Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. - /// - updatedAt: - public init( - id: Swift.Int, - keyPrefix: Swift.String, - urlTemplate: Swift.String, - isAlphanumeric: Swift.Bool, - updatedAt: Foundation.Date? = nil - ) { - self.id = id - self.keyPrefix = keyPrefix - self.urlTemplate = urlTemplate - self.isAlphanumeric = isAlphanumeric - self.updatedAt = updatedAt - } - public enum CodingKeys: String, CodingKey { - case id - case keyPrefix = "key_prefix" - case urlTemplate = "url_template" - case isAlphanumeric = "is_alphanumeric" - case updatedAt = "updated_at" - } - } - /// Check Dependabot security updates - /// - /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes`. - public struct CheckAutomatedSecurityFixes: Codable, Hashable, Sendable { - /// Whether Dependabot security updates are enabled for the repository. + /// - Remark: Generated from `#/components/schemas/repository-ruleset/name`. + public var name: Swift.String + /// The target of the ruleset /// - /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes/enabled`. - public var enabled: Swift.Bool - /// Whether Dependabot security updates are paused for the repository. + /// - Remark: Generated from `#/components/schemas/repository-ruleset/target`. + @frozen public enum TargetPayload: String, Codable, Hashable, Sendable, CaseIterable { + case branch = "branch" + case tag = "tag" + case push = "push" + case repository = "repository" + } + /// The target of the ruleset /// - /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes/paused`. - public var paused: Swift.Bool - /// Creates a new `CheckAutomatedSecurityFixes`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset/target`. + public var target: Components.Schemas.RepositoryRuleset.TargetPayload? + /// The type of the source of the ruleset /// - /// - Parameters: - /// - enabled: Whether Dependabot security updates are enabled for the repository. - /// - paused: Whether Dependabot security updates are paused for the repository. - public init( - enabled: Swift.Bool, - paused: Swift.Bool - ) { - self.enabled = enabled - self.paused = paused + /// - Remark: Generated from `#/components/schemas/repository-ruleset/source_type`. + @frozen public enum SourceTypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case repository = "Repository" + case organization = "Organization" + case enterprise = "Enterprise" } - public enum CodingKeys: String, CodingKey { - case enabled - case paused + /// The type of the source of the ruleset + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/source_type`. + public var sourceType: Components.Schemas.RepositoryRuleset.SourceTypePayload? + /// The name of the source + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/source`. + public var source: Swift.String + /// - Remark: Generated from `#/components/schemas/repository-ruleset/enforcement`. + public var enforcement: Components.Schemas.RepositoryRuleEnforcement + /// The actors that can bypass the rules in this ruleset + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/bypass_actors`. + public var bypassActors: [Components.Schemas.RepositoryRulesetBypassActor]? + /// The bypass type of the user making the API request for this ruleset. This field is only returned when + /// querying the repository-level endpoint. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/current_user_can_bypass`. + @frozen public enum CurrentUserCanBypassPayload: String, Codable, Hashable, Sendable, CaseIterable { + case always = "always" + case pullRequestsOnly = "pull_requests_only" + case never = "never" + case exempt = "exempt" } - } - /// Protected Branch Required Status Check - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check`. - public struct ProtectedBranchRequiredStatusCheck: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/enforcement_level`. - public var enforcementLevel: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/contexts`. - public var contexts: [Swift.String] - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload`. - public struct ChecksPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload/context`. - public var context: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload/app_id`. - public var appId: Swift.Int? - /// Creates a new `ChecksPayloadPayload`. + /// The bypass type of the user making the API request for this ruleset. This field is only returned when + /// querying the repository-level endpoint. + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/current_user_can_bypass`. + public var currentUserCanBypass: Components.Schemas.RepositoryRuleset.CurrentUserCanBypassPayload? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/node_id`. + public var nodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links`. + public struct _LinksPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self`. + public struct _SelfPayload: Codable, Hashable, Sendable { + /// The URL of the ruleset + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self/href`. + public var href: Swift.String? + /// Creates a new `_SelfPayload`. + /// + /// - Parameters: + /// - href: The URL of the ruleset + public init(href: Swift.String? = nil) { + self.href = href + } + public enum CodingKeys: String, CodingKey { + case href + } + } + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/self`. + public var _self: Components.Schemas.RepositoryRuleset._LinksPayload._SelfPayload? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html`. + public struct HtmlPayload: Codable, Hashable, Sendable { + /// The html URL of the ruleset + /// + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html/href`. + public var href: Swift.String? + /// Creates a new `HtmlPayload`. + /// + /// - Parameters: + /// - href: The html URL of the ruleset + public init(href: Swift.String? = nil) { + self.href = href + } + public enum CodingKeys: String, CodingKey { + case href + } + } + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links/html`. + public var html: Components.Schemas.RepositoryRuleset._LinksPayload.HtmlPayload? + /// Creates a new `_LinksPayload`. /// /// - Parameters: - /// - context: - /// - appId: + /// - _self: + /// - html: public init( - context: Swift.String, - appId: Swift.Int? = nil + _self: Components.Schemas.RepositoryRuleset._LinksPayload._SelfPayload? = nil, + html: Components.Schemas.RepositoryRuleset._LinksPayload.HtmlPayload? = nil ) { - self.context = context - self.appId = appId + self._self = _self + self.html = html } public enum CodingKeys: String, CodingKey { - case context - case appId = "app_id" + case _self = "self" + case html } } - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/checks`. - public typealias ChecksPayload = [Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayloadPayload] - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/checks`. - public var checks: Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayload - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/contexts_url`. - public var contextsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/strict`. - public var strict: Swift.Bool? - /// Creates a new `ProtectedBranchRequiredStatusCheck`. - /// - /// - Parameters: - /// - url: - /// - enforcementLevel: - /// - contexts: - /// - checks: - /// - contextsUrl: - /// - strict: - public init( - url: Swift.String? = nil, - enforcementLevel: Swift.String? = nil, - contexts: [Swift.String], - checks: Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayload, - contextsUrl: Swift.String? = nil, - strict: Swift.Bool? = nil - ) { - self.url = url - self.enforcementLevel = enforcementLevel - self.contexts = contexts - self.checks = checks - self.contextsUrl = contextsUrl - self.strict = strict - } - public enum CodingKeys: String, CodingKey { - case url - case enforcementLevel = "enforcement_level" - case contexts - case checks - case contextsUrl = "contexts_url" - case strict + /// - Remark: Generated from `#/components/schemas/repository-ruleset/_links`. + public var _links: Components.Schemas.RepositoryRuleset._LinksPayload? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions`. + public struct ConditionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions/value1`. + public var value1: Components.Schemas.RepositoryRulesetConditions? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions/value2`. + public var value2: Components.Schemas.OrgRulesetConditions? + /// Creates a new `ConditionsPayload`. + /// + /// - Parameters: + /// - value1: + /// - value2: + public init( + value1: Components.Schemas.RepositoryRulesetConditions? = nil, + value2: Components.Schemas.OrgRulesetConditions? = nil + ) { + self.value1 = value1 + self.value2 = value2 + } + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self.value1 = try .init(from: decoder) + } catch { + errors.append(error) + } + do { + self.value2 = try .init(from: decoder) + } catch { + errors.append(error) + } + try Swift.DecodingError.verifyAtLeastOneSchemaIsNotNil( + [ + self.value1, + self.value2 + ], + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + try self.value1?.encode(to: encoder) + try self.value2?.encode(to: encoder) + } } - } - /// Protected Branch Admin Enforced - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced`. - public struct ProtectedBranchAdminEnforced: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced/enabled`. - public var enabled: Swift.Bool - /// Creates a new `ProtectedBranchAdminEnforced`. + /// - Remark: Generated from `#/components/schemas/repository-ruleset/conditions`. + public var conditions: Components.Schemas.RepositoryRuleset.ConditionsPayload? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/rules`. + public var rules: [Components.Schemas.RepositoryRule]? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/created_at`. + public var createdAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/repository-ruleset/updated_at`. + public var updatedAt: Foundation.Date? + /// Creates a new `RepositoryRuleset`. /// /// - Parameters: - /// - url: - /// - enabled: + /// - id: The ID of the ruleset + /// - name: The name of the ruleset + /// - target: The target of the ruleset + /// - sourceType: The type of the source of the ruleset + /// - source: The name of the source + /// - enforcement: + /// - bypassActors: The actors that can bypass the rules in this ruleset + /// - currentUserCanBypass: The bypass type of the user making the API request for this ruleset. This field is only returned when + /// - nodeId: + /// - _links: + /// - conditions: + /// - rules: + /// - createdAt: + /// - updatedAt: public init( - url: Swift.String, - enabled: Swift.Bool + id: Swift.Int, + name: Swift.String, + target: Components.Schemas.RepositoryRuleset.TargetPayload? = nil, + sourceType: Components.Schemas.RepositoryRuleset.SourceTypePayload? = nil, + source: Swift.String, + enforcement: Components.Schemas.RepositoryRuleEnforcement, + bypassActors: [Components.Schemas.RepositoryRulesetBypassActor]? = nil, + currentUserCanBypass: Components.Schemas.RepositoryRuleset.CurrentUserCanBypassPayload? = nil, + nodeId: Swift.String? = nil, + _links: Components.Schemas.RepositoryRuleset._LinksPayload? = nil, + conditions: Components.Schemas.RepositoryRuleset.ConditionsPayload? = nil, + rules: [Components.Schemas.RepositoryRule]? = nil, + createdAt: Foundation.Date? = nil, + updatedAt: Foundation.Date? = nil ) { - self.url = url - self.enabled = enabled + self.id = id + self.name = name + self.target = target + self.sourceType = sourceType + self.source = source + self.enforcement = enforcement + self.bypassActors = bypassActors + self.currentUserCanBypass = currentUserCanBypass + self.nodeId = nodeId + self._links = _links + self.conditions = conditions + self.rules = rules + self.createdAt = createdAt + self.updatedAt = updatedAt } public enum CodingKeys: String, CodingKey { - case url - case enabled + case id + case name + case target + case sourceType = "source_type" + case source + case enforcement + case bypassActors = "bypass_actors" + case currentUserCanBypass = "current_user_can_bypass" + case nodeId = "node_id" + case _links + case conditions + case rules + case createdAt = "created_at" + case updatedAt = "updated_at" } } - /// Protected Branch Pull Request Review + /// A repository rule. /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review`. - public struct ProtectedBranchPullRequestReview: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions`. - public struct DismissalRestrictionsPayload: Codable, Hashable, Sendable { - /// The list of users with review dismissal access. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/users`. - public var users: [Components.Schemas.SimpleUser]? - /// The list of teams with review dismissal access. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/teams`. - public var teams: [Components.Schemas.Team]? - /// The list of apps with review dismissal access. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/apps`. - public var apps: [Components.Schemas.Integration]? - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/users_url`. - public var usersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/teams_url`. - public var teamsUrl: Swift.String? - /// Creates a new `DismissalRestrictionsPayload`. - /// - /// - Parameters: - /// - users: The list of users with review dismissal access. - /// - teams: The list of teams with review dismissal access. - /// - apps: The list of apps with review dismissal access. - /// - url: - /// - usersUrl: - /// - teamsUrl: - public init( - users: [Components.Schemas.SimpleUser]? = nil, - teams: [Components.Schemas.Team]? = nil, - apps: [Components.Schemas.Integration]? = nil, - url: Swift.String? = nil, - usersUrl: Swift.String? = nil, - teamsUrl: Swift.String? = nil - ) { - self.users = users - self.teams = teams - self.apps = apps - self.url = url - self.usersUrl = usersUrl - self.teamsUrl = teamsUrl + /// - Remark: Generated from `#/components/schemas/org-rules`. + @frozen public enum OrgRules: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/org-rules/case1`. + case RepositoryRuleCreation(Components.Schemas.RepositoryRuleCreation) + /// - Remark: Generated from `#/components/schemas/org-rules/case2`. + case RepositoryRuleUpdate(Components.Schemas.RepositoryRuleUpdate) + /// - Remark: Generated from `#/components/schemas/org-rules/case3`. + case RepositoryRuleDeletion(Components.Schemas.RepositoryRuleDeletion) + /// - Remark: Generated from `#/components/schemas/org-rules/case4`. + case RepositoryRuleRequiredLinearHistory(Components.Schemas.RepositoryRuleRequiredLinearHistory) + /// - Remark: Generated from `#/components/schemas/org-rules/case5`. + case RepositoryRuleRequiredDeployments(Components.Schemas.RepositoryRuleRequiredDeployments) + /// - Remark: Generated from `#/components/schemas/org-rules/case6`. + case RepositoryRuleRequiredSignatures(Components.Schemas.RepositoryRuleRequiredSignatures) + /// - Remark: Generated from `#/components/schemas/org-rules/case7`. + case RepositoryRulePullRequest(Components.Schemas.RepositoryRulePullRequest) + /// - Remark: Generated from `#/components/schemas/org-rules/case8`. + case RepositoryRuleRequiredStatusChecks(Components.Schemas.RepositoryRuleRequiredStatusChecks) + /// - Remark: Generated from `#/components/schemas/org-rules/case9`. + case RepositoryRuleNonFastForward(Components.Schemas.RepositoryRuleNonFastForward) + /// - Remark: Generated from `#/components/schemas/org-rules/case10`. + case RepositoryRuleCommitMessagePattern(Components.Schemas.RepositoryRuleCommitMessagePattern) + /// - Remark: Generated from `#/components/schemas/org-rules/case11`. + case RepositoryRuleCommitAuthorEmailPattern(Components.Schemas.RepositoryRuleCommitAuthorEmailPattern) + /// - Remark: Generated from `#/components/schemas/org-rules/case12`. + case RepositoryRuleCommitterEmailPattern(Components.Schemas.RepositoryRuleCommitterEmailPattern) + /// - Remark: Generated from `#/components/schemas/org-rules/case13`. + case RepositoryRuleBranchNamePattern(Components.Schemas.RepositoryRuleBranchNamePattern) + /// - Remark: Generated from `#/components/schemas/org-rules/case14`. + case RepositoryRuleTagNamePattern(Components.Schemas.RepositoryRuleTagNamePattern) + /// - Remark: Generated from `#/components/schemas/org-rules/case15`. + case RepositoryRuleFilePathRestriction(Components.Schemas.RepositoryRuleFilePathRestriction) + /// - Remark: Generated from `#/components/schemas/org-rules/case16`. + case RepositoryRuleMaxFilePathLength(Components.Schemas.RepositoryRuleMaxFilePathLength) + /// - Remark: Generated from `#/components/schemas/org-rules/case17`. + case RepositoryRuleFileExtensionRestriction(Components.Schemas.RepositoryRuleFileExtensionRestriction) + /// - Remark: Generated from `#/components/schemas/org-rules/case18`. + case RepositoryRuleMaxFileSize(Components.Schemas.RepositoryRuleMaxFileSize) + /// - Remark: Generated from `#/components/schemas/org-rules/case19`. + case RepositoryRuleWorkflows(Components.Schemas.RepositoryRuleWorkflows) + /// - Remark: Generated from `#/components/schemas/org-rules/case20`. + case RepositoryRuleCodeScanning(Components.Schemas.RepositoryRuleCodeScanning) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .RepositoryRuleCreation(try .init(from: decoder)) + return + } catch { + errors.append(error) } - public enum CodingKeys: String, CodingKey { - case users - case teams - case apps - case url - case usersUrl = "users_url" - case teamsUrl = "teams_url" + do { + self = .RepositoryRuleUpdate(try .init(from: decoder)) + return + } catch { + errors.append(error) } - } - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions`. - public var dismissalRestrictions: Components.Schemas.ProtectedBranchPullRequestReview.DismissalRestrictionsPayload? - /// Allow specific users, teams, or apps to bypass pull request requirements. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances`. - public struct BypassPullRequestAllowancesPayload: Codable, Hashable, Sendable { - /// The list of users allowed to bypass pull request requirements. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/users`. - public var users: [Components.Schemas.SimpleUser]? - /// The list of teams allowed to bypass pull request requirements. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/teams`. - public var teams: [Components.Schemas.Team]? - /// The list of apps allowed to bypass pull request requirements. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/apps`. - public var apps: [Components.Schemas.Integration]? - /// Creates a new `BypassPullRequestAllowancesPayload`. - /// - /// - Parameters: - /// - users: The list of users allowed to bypass pull request requirements. - /// - teams: The list of teams allowed to bypass pull request requirements. - /// - apps: The list of apps allowed to bypass pull request requirements. - public init( - users: [Components.Schemas.SimpleUser]? = nil, - teams: [Components.Schemas.Team]? = nil, - apps: [Components.Schemas.Integration]? = nil - ) { - self.users = users - self.teams = teams - self.apps = apps + do { + self = .RepositoryRuleDeletion(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredLinearHistory(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredDeployments(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredSignatures(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRulePullRequest(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleRequiredStatusChecks(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleNonFastForward(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitMessagePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitAuthorEmailPattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleCommitterEmailPattern(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleBranchNamePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) } - public enum CodingKeys: String, CodingKey { - case users - case teams - case apps + do { + self = .RepositoryRuleTagNamePattern(try .init(from: decoder)) + return + } catch { + errors.append(error) } - } - /// Allow specific users, teams, or apps to bypass pull request requirements. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances`. - public var bypassPullRequestAllowances: Components.Schemas.ProtectedBranchPullRequestReview.BypassPullRequestAllowancesPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismiss_stale_reviews`. - public var dismissStaleReviews: Swift.Bool - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/require_code_owner_reviews`. - public var requireCodeOwnerReviews: Swift.Bool - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/required_approving_review_count`. - public var requiredApprovingReviewCount: Swift.Int? - /// Whether the most recent push must be approved by someone other than the person who pushed it. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/require_last_push_approval`. - public var requireLastPushApproval: Swift.Bool? - /// Creates a new `ProtectedBranchPullRequestReview`. - /// - /// - Parameters: - /// - url: - /// - dismissalRestrictions: - /// - bypassPullRequestAllowances: Allow specific users, teams, or apps to bypass pull request requirements. - /// - dismissStaleReviews: - /// - requireCodeOwnerReviews: - /// - requiredApprovingReviewCount: - /// - requireLastPushApproval: Whether the most recent push must be approved by someone other than the person who pushed it. - public init( - url: Swift.String? = nil, - dismissalRestrictions: Components.Schemas.ProtectedBranchPullRequestReview.DismissalRestrictionsPayload? = nil, - bypassPullRequestAllowances: Components.Schemas.ProtectedBranchPullRequestReview.BypassPullRequestAllowancesPayload? = nil, - dismissStaleReviews: Swift.Bool, - requireCodeOwnerReviews: Swift.Bool, - requiredApprovingReviewCount: Swift.Int? = nil, - requireLastPushApproval: Swift.Bool? = nil - ) { - self.url = url - self.dismissalRestrictions = dismissalRestrictions - self.bypassPullRequestAllowances = bypassPullRequestAllowances - self.dismissStaleReviews = dismissStaleReviews - self.requireCodeOwnerReviews = requireCodeOwnerReviews - self.requiredApprovingReviewCount = requiredApprovingReviewCount - self.requireLastPushApproval = requireLastPushApproval - } - public enum CodingKeys: String, CodingKey { - case url - case dismissalRestrictions = "dismissal_restrictions" - case bypassPullRequestAllowances = "bypass_pull_request_allowances" - case dismissStaleReviews = "dismiss_stale_reviews" - case requireCodeOwnerReviews = "require_code_owner_reviews" - case requiredApprovingReviewCount = "required_approving_review_count" - case requireLastPushApproval = "require_last_push_approval" - } - } - /// Branch Restriction Policy - /// - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy`. - public struct BranchRestrictionPolicy: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users_url`. - public var usersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/teams_url`. - public var teamsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps_url`. - public var appsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload`. - public struct UsersPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/login`. - public var login: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/id`. - public var id: Swift.Int64? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/node_id`. - public var nodeId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/avatar_url`. - public var avatarUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/gravatar_id`. - public var gravatarId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/html_url`. - public var htmlUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/followers_url`. - public var followersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/following_url`. - public var followingUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/gists_url`. - public var gistsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/starred_url`. - public var starredUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/subscriptions_url`. - public var subscriptionsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/organizations_url`. - public var organizationsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/repos_url`. - public var reposUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/events_url`. - public var eventsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/received_events_url`. - public var receivedEventsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/type`. - public var _type: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/site_admin`. - public var siteAdmin: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/user_view_type`. - public var userViewType: Swift.String? - /// Creates a new `UsersPayloadPayload`. - /// - /// - Parameters: - /// - login: - /// - id: - /// - nodeId: - /// - avatarUrl: - /// - gravatarId: - /// - url: - /// - htmlUrl: - /// - followersUrl: - /// - followingUrl: - /// - gistsUrl: - /// - starredUrl: - /// - subscriptionsUrl: - /// - organizationsUrl: - /// - reposUrl: - /// - eventsUrl: - /// - receivedEventsUrl: - /// - _type: - /// - siteAdmin: - /// - userViewType: - public init( - login: Swift.String? = nil, - id: Swift.Int64? = nil, - nodeId: Swift.String? = nil, - avatarUrl: Swift.String? = nil, - gravatarId: Swift.String? = nil, - url: Swift.String? = nil, - htmlUrl: Swift.String? = nil, - followersUrl: Swift.String? = nil, - followingUrl: Swift.String? = nil, - gistsUrl: Swift.String? = nil, - starredUrl: Swift.String? = nil, - subscriptionsUrl: Swift.String? = nil, - organizationsUrl: Swift.String? = nil, - reposUrl: Swift.String? = nil, - eventsUrl: Swift.String? = nil, - receivedEventsUrl: Swift.String? = nil, - _type: Swift.String? = nil, - siteAdmin: Swift.Bool? = nil, - userViewType: Swift.String? = nil - ) { - self.login = login - self.id = id - self.nodeId = nodeId - self.avatarUrl = avatarUrl - self.gravatarId = gravatarId - self.url = url - self.htmlUrl = htmlUrl - self.followersUrl = followersUrl - self.followingUrl = followingUrl - self.gistsUrl = gistsUrl - self.starredUrl = starredUrl - self.subscriptionsUrl = subscriptionsUrl - self.organizationsUrl = organizationsUrl - self.reposUrl = reposUrl - self.eventsUrl = eventsUrl - self.receivedEventsUrl = receivedEventsUrl - self._type = _type - self.siteAdmin = siteAdmin - self.userViewType = userViewType + do { + self = .RepositoryRuleFilePathRestriction(try .init(from: decoder)) + return + } catch { + errors.append(error) } - public enum CodingKeys: String, CodingKey { - case login - case id - case nodeId = "node_id" - case avatarUrl = "avatar_url" - case gravatarId = "gravatar_id" - case url - case htmlUrl = "html_url" - case followersUrl = "followers_url" - case followingUrl = "following_url" - case gistsUrl = "gists_url" - case starredUrl = "starred_url" - case subscriptionsUrl = "subscriptions_url" - case organizationsUrl = "organizations_url" - case reposUrl = "repos_url" - case eventsUrl = "events_url" - case receivedEventsUrl = "received_events_url" - case _type = "type" - case siteAdmin = "site_admin" - case userViewType = "user_view_type" + do { + self = .RepositoryRuleMaxFilePathLength(try .init(from: decoder)) + return + } catch { + errors.append(error) } - } - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users`. - public typealias UsersPayload = [Components.Schemas.BranchRestrictionPolicy.UsersPayloadPayload] - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users`. - public var users: Components.Schemas.BranchRestrictionPolicy.UsersPayload - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload`. - public struct TeamsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/id`. - public var id: Swift.Int? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/node_id`. - public var nodeId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/html_url`. - public var htmlUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/slug`. - public var slug: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/privacy`. - public var privacy: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/notification_setting`. - public var notificationSetting: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/permission`. - public var permission: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/members_url`. - public var membersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/repositories_url`. - public var repositoriesUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/TeamsPayload/parent`. - public var parent: Swift.String? - /// Creates a new `TeamsPayloadPayload`. - /// - /// - Parameters: - /// - id: - /// - nodeId: - /// - url: - /// - htmlUrl: - /// - name: - /// - slug: - /// - description: - /// - privacy: - /// - notificationSetting: - /// - permission: - /// - membersUrl: - /// - repositoriesUrl: - /// - parent: - public init( - id: Swift.Int? = nil, - nodeId: Swift.String? = nil, - url: Swift.String? = nil, - htmlUrl: Swift.String? = nil, - name: Swift.String? = nil, - slug: Swift.String? = nil, - description: Swift.String? = nil, - privacy: Swift.String? = nil, - notificationSetting: Swift.String? = nil, - permission: Swift.String? = nil, - membersUrl: Swift.String? = nil, - repositoriesUrl: Swift.String? = nil, - parent: Swift.String? = nil - ) { - self.id = id - self.nodeId = nodeId - self.url = url - self.htmlUrl = htmlUrl - self.name = name - self.slug = slug - self.description = description - self.privacy = privacy - self.notificationSetting = notificationSetting - self.permission = permission - self.membersUrl = membersUrl - self.repositoriesUrl = repositoriesUrl - self.parent = parent + do { + self = .RepositoryRuleFileExtensionRestriction(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .RepositoryRuleMaxFileSize(try .init(from: decoder)) + return + } catch { + errors.append(error) } - public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" - case url - case htmlUrl = "html_url" - case name - case slug - case description - case privacy - case notificationSetting = "notification_setting" - case permission - case membersUrl = "members_url" - case repositoriesUrl = "repositories_url" - case parent + do { + self = .RepositoryRuleWorkflows(try .init(from: decoder)) + return + } catch { + errors.append(error) } + do { + self = .RepositoryRuleCodeScanning(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) } - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/teams`. - public typealias TeamsPayload = [Components.Schemas.BranchRestrictionPolicy.TeamsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/teams`. - public var teams: Components.Schemas.BranchRestrictionPolicy.TeamsPayload - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload`. - public struct AppsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/id`. - public var id: Swift.Int? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/slug`. - public var slug: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/node_id`. - public var nodeId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner`. - public struct OwnerPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/login`. - public var login: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/id`. - public var id: Swift.Int? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/node_id`. - public var nodeId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/repos_url`. - public var reposUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/events_url`. - public var eventsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/hooks_url`. - public var hooksUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/issues_url`. - public var issuesUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/members_url`. - public var membersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/public_members_url`. - public var publicMembersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/avatar_url`. - public var avatarUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/gravatar_id`. - public var gravatarId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/html_url`. - public var htmlUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/followers_url`. - public var followersUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/following_url`. - public var followingUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/gists_url`. - public var gistsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/starred_url`. - public var starredUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/subscriptions_url`. - public var subscriptionsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/organizations_url`. - public var organizationsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/received_events_url`. - public var receivedEventsUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/type`. + public func encode(to encoder: any Encoder) throws { + switch self { + case let .RepositoryRuleCreation(value): + try value.encode(to: encoder) + case let .RepositoryRuleUpdate(value): + try value.encode(to: encoder) + case let .RepositoryRuleDeletion(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredLinearHistory(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredDeployments(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredSignatures(value): + try value.encode(to: encoder) + case let .RepositoryRulePullRequest(value): + try value.encode(to: encoder) + case let .RepositoryRuleRequiredStatusChecks(value): + try value.encode(to: encoder) + case let .RepositoryRuleNonFastForward(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitMessagePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitAuthorEmailPattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleCommitterEmailPattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleBranchNamePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleTagNamePattern(value): + try value.encode(to: encoder) + case let .RepositoryRuleFilePathRestriction(value): + try value.encode(to: encoder) + case let .RepositoryRuleMaxFilePathLength(value): + try value.encode(to: encoder) + case let .RepositoryRuleFileExtensionRestriction(value): + try value.encode(to: encoder) + case let .RepositoryRuleMaxFileSize(value): + try value.encode(to: encoder) + case let .RepositoryRuleWorkflows(value): + try value.encode(to: encoder) + case let .RepositoryRuleCodeScanning(value): + try value.encode(to: encoder) + } + } + } + /// - Remark: Generated from `#/components/schemas/RuleSuites`. + public struct RuleSuitesPayload: Codable, Hashable, Sendable { + /// The unique identifier of the rule insight. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/id`. + public var id: Swift.Int? + /// The number that identifies the user. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/actor_id`. + public var actorId: Swift.Int? + /// The handle for the GitHub user account. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/actor_name`. + public var actorName: Swift.String? + /// The first commit sha before the push evaluation. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/before_sha`. + public var beforeSha: Swift.String? + /// The last commit sha in the push evaluation. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/after_sha`. + public var afterSha: Swift.String? + /// The ref name that the evaluation ran on. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/ref`. + public var ref: Swift.String? + /// The ID of the repository associated with the rule evaluation. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/repository_id`. + public var repositoryId: Swift.Int? + /// The name of the repository without the `.git` extension. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/repository_name`. + public var repositoryName: Swift.String? + /// - Remark: Generated from `#/components/schemas/RuleSuites/pushed_at`. + public var pushedAt: Foundation.Date? + /// The result of the rule evaluations for rules with the `active` enforcement status. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/result`. + @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { + case pass = "pass" + case fail = "fail" + case bypass = "bypass" + } + /// The result of the rule evaluations for rules with the `active` enforcement status. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/result`. + public var result: Components.Schemas.RuleSuitesPayload.ResultPayload? + /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/evaluation_result`. + @frozen public enum EvaluationResultPayload: String, Codable, Hashable, Sendable, CaseIterable { + case pass = "pass" + case fail = "fail" + case bypass = "bypass" + } + /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + /// + /// - Remark: Generated from `#/components/schemas/RuleSuites/evaluation_result`. + public var evaluationResult: Components.Schemas.RuleSuitesPayload.EvaluationResultPayload? + /// Creates a new `RuleSuitesPayload`. + /// + /// - Parameters: + /// - id: The unique identifier of the rule insight. + /// - actorId: The number that identifies the user. + /// - actorName: The handle for the GitHub user account. + /// - beforeSha: The first commit sha before the push evaluation. + /// - afterSha: The last commit sha in the push evaluation. + /// - ref: The ref name that the evaluation ran on. + /// - repositoryId: The ID of the repository associated with the rule evaluation. + /// - repositoryName: The name of the repository without the `.git` extension. + /// - pushedAt: + /// - result: The result of the rule evaluations for rules with the `active` enforcement status. + /// - evaluationResult: The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + public init( + id: Swift.Int? = nil, + actorId: Swift.Int? = nil, + actorName: Swift.String? = nil, + beforeSha: Swift.String? = nil, + afterSha: Swift.String? = nil, + ref: Swift.String? = nil, + repositoryId: Swift.Int? = nil, + repositoryName: Swift.String? = nil, + pushedAt: Foundation.Date? = nil, + result: Components.Schemas.RuleSuitesPayload.ResultPayload? = nil, + evaluationResult: Components.Schemas.RuleSuitesPayload.EvaluationResultPayload? = nil + ) { + self.id = id + self.actorId = actorId + self.actorName = actorName + self.beforeSha = beforeSha + self.afterSha = afterSha + self.ref = ref + self.repositoryId = repositoryId + self.repositoryName = repositoryName + self.pushedAt = pushedAt + self.result = result + self.evaluationResult = evaluationResult + } + public enum CodingKeys: String, CodingKey { + case id + case actorId = "actor_id" + case actorName = "actor_name" + case beforeSha = "before_sha" + case afterSha = "after_sha" + case ref + case repositoryId = "repository_id" + case repositoryName = "repository_name" + case pushedAt = "pushed_at" + case result + case evaluationResult = "evaluation_result" + } + } + /// Response + /// + /// - Remark: Generated from `#/components/schemas/rule-suites`. + public typealias RuleSuites = [Components.Schemas.RuleSuitesPayload] + /// Response + /// + /// - Remark: Generated from `#/components/schemas/rule-suite`. + public struct RuleSuite: Codable, Hashable, Sendable { + /// The unique identifier of the rule insight. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/id`. + public var id: Swift.Int? + /// The number that identifies the user. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/actor_id`. + public var actorId: Swift.Int? + /// The handle for the GitHub user account. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/actor_name`. + public var actorName: Swift.String? + /// The previous commit SHA of the ref. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/before_sha`. + public var beforeSha: Swift.String? + /// The new commit SHA of the ref. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/after_sha`. + public var afterSha: Swift.String? + /// The ref name that the evaluation ran on. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/ref`. + public var ref: Swift.String? + /// The ID of the repository associated with the rule evaluation. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/repository_id`. + public var repositoryId: Swift.Int? + /// The name of the repository without the `.git` extension. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/repository_name`. + public var repositoryName: Swift.String? + /// - Remark: Generated from `#/components/schemas/rule-suite/pushed_at`. + public var pushedAt: Foundation.Date? + /// The result of the rule evaluations for rules with the `active` enforcement status. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/result`. + @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { + case pass = "pass" + case fail = "fail" + case bypass = "bypass" + } + /// The result of the rule evaluations for rules with the `active` enforcement status. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/result`. + public var result: Components.Schemas.RuleSuite.ResultPayload? + /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/evaluation_result`. + @frozen public enum EvaluationResultPayload: String, Codable, Hashable, Sendable, CaseIterable { + case pass = "pass" + case fail = "fail" + case bypass = "bypass" + } + /// The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/evaluation_result`. + public var evaluationResult: Components.Schemas.RuleSuite.EvaluationResultPayload? + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload`. + public struct RuleEvaluationsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source`. + public struct RuleSourcePayload: Codable, Hashable, Sendable { + /// The type of rule source. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/type`. public var _type: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/site_admin`. - public var siteAdmin: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/user_view_type`. - public var userViewType: Swift.String? - /// Creates a new `OwnerPayload`. + /// The ID of the rule source. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/id`. + public var id: Swift.Int? + /// The name of the rule source. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source/name`. + public var name: Swift.String? + /// Creates a new `RuleSourcePayload`. /// /// - Parameters: - /// - login: - /// - id: - /// - nodeId: - /// - url: - /// - reposUrl: - /// - eventsUrl: - /// - hooksUrl: - /// - issuesUrl: - /// - membersUrl: - /// - publicMembersUrl: - /// - avatarUrl: - /// - description: - /// - gravatarId: - /// - htmlUrl: - /// - followersUrl: - /// - followingUrl: - /// - gistsUrl: - /// - starredUrl: - /// - subscriptionsUrl: - /// - organizationsUrl: - /// - receivedEventsUrl: - /// - _type: - /// - siteAdmin: - /// - userViewType: + /// - _type: The type of rule source. + /// - id: The ID of the rule source. + /// - name: The name of the rule source. public init( - login: Swift.String? = nil, - id: Swift.Int? = nil, - nodeId: Swift.String? = nil, - url: Swift.String? = nil, - reposUrl: Swift.String? = nil, - eventsUrl: Swift.String? = nil, - hooksUrl: Swift.String? = nil, - issuesUrl: Swift.String? = nil, - membersUrl: Swift.String? = nil, - publicMembersUrl: Swift.String? = nil, - avatarUrl: Swift.String? = nil, - description: Swift.String? = nil, - gravatarId: Swift.String? = nil, - htmlUrl: Swift.String? = nil, - followersUrl: Swift.String? = nil, - followingUrl: Swift.String? = nil, - gistsUrl: Swift.String? = nil, - starredUrl: Swift.String? = nil, - subscriptionsUrl: Swift.String? = nil, - organizationsUrl: Swift.String? = nil, - receivedEventsUrl: Swift.String? = nil, _type: Swift.String? = nil, - siteAdmin: Swift.Bool? = nil, - userViewType: Swift.String? = nil + id: Swift.Int? = nil, + name: Swift.String? = nil ) { - self.login = login - self.id = id - self.nodeId = nodeId - self.url = url - self.reposUrl = reposUrl - self.eventsUrl = eventsUrl - self.hooksUrl = hooksUrl - self.issuesUrl = issuesUrl - self.membersUrl = membersUrl - self.publicMembersUrl = publicMembersUrl - self.avatarUrl = avatarUrl - self.description = description - self.gravatarId = gravatarId - self.htmlUrl = htmlUrl - self.followersUrl = followersUrl - self.followingUrl = followingUrl - self.gistsUrl = gistsUrl - self.starredUrl = starredUrl - self.subscriptionsUrl = subscriptionsUrl - self.organizationsUrl = organizationsUrl - self.receivedEventsUrl = receivedEventsUrl self._type = _type - self.siteAdmin = siteAdmin - self.userViewType = userViewType + self.id = id + self.name = name } public enum CodingKeys: String, CodingKey { - case login - case id - case nodeId = "node_id" - case url - case reposUrl = "repos_url" - case eventsUrl = "events_url" - case hooksUrl = "hooks_url" - case issuesUrl = "issues_url" - case membersUrl = "members_url" - case publicMembersUrl = "public_members_url" - case avatarUrl = "avatar_url" - case description - case gravatarId = "gravatar_id" - case htmlUrl = "html_url" - case followersUrl = "followers_url" - case followingUrl = "following_url" - case gistsUrl = "gists_url" - case starredUrl = "starred_url" - case subscriptionsUrl = "subscriptions_url" - case organizationsUrl = "organizations_url" - case receivedEventsUrl = "received_events_url" case _type = "type" - case siteAdmin = "site_admin" - case userViewType = "user_view_type" + case id + case name } } - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner`. - public var owner: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.OwnerPayload? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/client_id`. - public var clientId: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/description`. - public var description: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/external_url`. - public var externalUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/html_url`. - public var htmlUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/created_at`. - public var createdAt: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/updated_at`. - public var updatedAt: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions`. - public struct PermissionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/metadata`. - public var metadata: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/contents`. - public var contents: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/issues`. - public var issues: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/single_file`. - public var singleFile: Swift.String? - /// Creates a new `PermissionsPayload`. - /// - /// - Parameters: - /// - metadata: - /// - contents: - /// - issues: - /// - singleFile: - public init( - metadata: Swift.String? = nil, - contents: Swift.String? = nil, - issues: Swift.String? = nil, - singleFile: Swift.String? = nil - ) { - self.metadata = metadata - self.contents = contents - self.issues = issues - self.singleFile = singleFile - } - public enum CodingKeys: String, CodingKey { - case metadata - case contents - case issues - case singleFile = "single_file" - } + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_source`. + public var ruleSource: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.RuleSourcePayload? + /// The enforcement level of this rule source. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/enforcement`. + @frozen public enum EnforcementPayload: String, Codable, Hashable, Sendable, CaseIterable { + case active = "active" + case evaluate = "evaluate" + case deletedRuleset = "deleted ruleset" } - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions`. - public var permissions: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.PermissionsPayload? - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/events`. - public var events: [Swift.String]? - /// Creates a new `AppsPayloadPayload`. + /// The enforcement level of this rule source. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/enforcement`. + public var enforcement: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.EnforcementPayload? + /// The result of the evaluation of the individual rule. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/result`. + @frozen public enum ResultPayload: String, Codable, Hashable, Sendable, CaseIterable { + case pass = "pass" + case fail = "fail" + } + /// The result of the evaluation of the individual rule. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/result`. + public var result: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.ResultPayload? + /// The type of rule. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/rule_type`. + public var ruleType: Swift.String? + /// The detailed failure message for the rule. Null if the rule passed. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/RuleEvaluationsPayload/details`. + public var details: Swift.String? + /// Creates a new `RuleEvaluationsPayloadPayload`. /// /// - Parameters: - /// - id: - /// - slug: - /// - nodeId: - /// - owner: - /// - name: - /// - clientId: - /// - description: - /// - externalUrl: - /// - htmlUrl: - /// - createdAt: - /// - updatedAt: - /// - permissions: - /// - events: + /// - ruleSource: + /// - enforcement: The enforcement level of this rule source. + /// - result: The result of the evaluation of the individual rule. + /// - ruleType: The type of rule. + /// - details: The detailed failure message for the rule. Null if the rule passed. public init( - id: Swift.Int? = nil, - slug: Swift.String? = nil, - nodeId: Swift.String? = nil, - owner: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.OwnerPayload? = nil, - name: Swift.String? = nil, - clientId: Swift.String? = nil, - description: Swift.String? = nil, - externalUrl: Swift.String? = nil, - htmlUrl: Swift.String? = nil, - createdAt: Swift.String? = nil, - updatedAt: Swift.String? = nil, - permissions: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.PermissionsPayload? = nil, - events: [Swift.String]? = nil + ruleSource: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.RuleSourcePayload? = nil, + enforcement: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.EnforcementPayload? = nil, + result: Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload.ResultPayload? = nil, + ruleType: Swift.String? = nil, + details: Swift.String? = nil ) { - self.id = id - self.slug = slug - self.nodeId = nodeId - self.owner = owner - self.name = name - self.clientId = clientId - self.description = description - self.externalUrl = externalUrl - self.htmlUrl = htmlUrl - self.createdAt = createdAt - self.updatedAt = updatedAt - self.permissions = permissions - self.events = events + self.ruleSource = ruleSource + self.enforcement = enforcement + self.result = result + self.ruleType = ruleType + self.details = details } public enum CodingKeys: String, CodingKey { - case id - case slug - case nodeId = "node_id" - case owner - case name - case clientId = "client_id" - case description - case externalUrl = "external_url" - case htmlUrl = "html_url" - case createdAt = "created_at" - case updatedAt = "updated_at" - case permissions - case events + case ruleSource = "rule_source" + case enforcement + case result + case ruleType = "rule_type" + case details } } - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps`. - public typealias AppsPayload = [Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps`. - public var apps: Components.Schemas.BranchRestrictionPolicy.AppsPayload - /// Creates a new `BranchRestrictionPolicy`. + /// Details on the evaluated rules. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/rule_evaluations`. + public typealias RuleEvaluationsPayload = [Components.Schemas.RuleSuite.RuleEvaluationsPayloadPayload] + /// Details on the evaluated rules. + /// + /// - Remark: Generated from `#/components/schemas/rule-suite/rule_evaluations`. + public var ruleEvaluations: Components.Schemas.RuleSuite.RuleEvaluationsPayload? + /// Creates a new `RuleSuite`. /// /// - Parameters: - /// - url: - /// - usersUrl: - /// - teamsUrl: - /// - appsUrl: - /// - users: - /// - teams: - /// - apps: + /// - id: The unique identifier of the rule insight. + /// - actorId: The number that identifies the user. + /// - actorName: The handle for the GitHub user account. + /// - beforeSha: The previous commit SHA of the ref. + /// - afterSha: The new commit SHA of the ref. + /// - ref: The ref name that the evaluation ran on. + /// - repositoryId: The ID of the repository associated with the rule evaluation. + /// - repositoryName: The name of the repository without the `.git` extension. + /// - pushedAt: + /// - result: The result of the rule evaluations for rules with the `active` enforcement status. + /// - evaluationResult: The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + /// - ruleEvaluations: Details on the evaluated rules. public init( - url: Swift.String, - usersUrl: Swift.String, - teamsUrl: Swift.String, - appsUrl: Swift.String, - users: Components.Schemas.BranchRestrictionPolicy.UsersPayload, - teams: Components.Schemas.BranchRestrictionPolicy.TeamsPayload, - apps: Components.Schemas.BranchRestrictionPolicy.AppsPayload + id: Swift.Int? = nil, + actorId: Swift.Int? = nil, + actorName: Swift.String? = nil, + beforeSha: Swift.String? = nil, + afterSha: Swift.String? = nil, + ref: Swift.String? = nil, + repositoryId: Swift.Int? = nil, + repositoryName: Swift.String? = nil, + pushedAt: Foundation.Date? = nil, + result: Components.Schemas.RuleSuite.ResultPayload? = nil, + evaluationResult: Components.Schemas.RuleSuite.EvaluationResultPayload? = nil, + ruleEvaluations: Components.Schemas.RuleSuite.RuleEvaluationsPayload? = nil ) { - self.url = url - self.usersUrl = usersUrl - self.teamsUrl = teamsUrl - self.appsUrl = appsUrl - self.users = users - self.teams = teams - self.apps = apps + self.id = id + self.actorId = actorId + self.actorName = actorName + self.beforeSha = beforeSha + self.afterSha = afterSha + self.ref = ref + self.repositoryId = repositoryId + self.repositoryName = repositoryName + self.pushedAt = pushedAt + self.result = result + self.evaluationResult = evaluationResult + self.ruleEvaluations = ruleEvaluations } public enum CodingKeys: String, CodingKey { - case url - case usersUrl = "users_url" - case teamsUrl = "teams_url" - case appsUrl = "apps_url" - case users - case teams - case apps + case id + case actorId = "actor_id" + case actorName = "actor_name" + case beforeSha = "before_sha" + case afterSha = "after_sha" + case ref + case repositoryId = "repository_id" + case repositoryName = "repository_name" + case pushedAt = "pushed_at" + case result + case evaluationResult = "evaluation_result" + case ruleEvaluations = "rule_evaluations" } } - /// Branch Protection + /// The historical version of a ruleset /// - /// - Remark: Generated from `#/components/schemas/branch-protection`. - public struct BranchProtection: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/url`. - public var url: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-protection/enabled`. - public var enabled: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/branch-protection/required_status_checks`. - public var requiredStatusChecks: Components.Schemas.ProtectedBranchRequiredStatusCheck? - /// - Remark: Generated from `#/components/schemas/branch-protection/enforce_admins`. - public var enforceAdmins: Components.Schemas.ProtectedBranchAdminEnforced? - /// - Remark: Generated from `#/components/schemas/branch-protection/required_pull_request_reviews`. - public var requiredPullRequestReviews: Components.Schemas.ProtectedBranchPullRequestReview? - /// - Remark: Generated from `#/components/schemas/branch-protection/restrictions`. - public var restrictions: Components.Schemas.BranchRestrictionPolicy? - /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history`. - public struct RequiredLinearHistoryPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `RequiredLinearHistoryPayload`. + /// - Remark: Generated from `#/components/schemas/ruleset-version`. + public struct RulesetVersion: Codable, Hashable, Sendable { + /// The ID of the previous version of the ruleset + /// + /// - Remark: Generated from `#/components/schemas/ruleset-version/version_id`. + public var versionId: Swift.Int + /// The actor who updated the ruleset + /// + /// - Remark: Generated from `#/components/schemas/ruleset-version/actor`. + public struct ActorPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/ruleset-version/actor/id`. + public var id: Swift.Int? + /// - Remark: Generated from `#/components/schemas/ruleset-version/actor/type`. + public var _type: Swift.String? + /// Creates a new `ActorPayload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled + /// - id: + /// - _type: + public init( + id: Swift.Int? = nil, + _type: Swift.String? = nil + ) { + self.id = id + self._type = _type } public enum CodingKeys: String, CodingKey { - case enabled + case id + case _type = "type" } } - /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history`. - public var requiredLinearHistory: Components.Schemas.BranchProtection.RequiredLinearHistoryPayload? - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes`. - public struct AllowForcePushesPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `AllowForcePushesPayload`. + /// The actor who updated the ruleset + /// + /// - Remark: Generated from `#/components/schemas/ruleset-version/actor`. + public var actor: Components.Schemas.RulesetVersion.ActorPayload + /// - Remark: Generated from `#/components/schemas/ruleset-version/updated_at`. + public var updatedAt: Foundation.Date + /// Creates a new `RulesetVersion`. + /// + /// - Parameters: + /// - versionId: The ID of the previous version of the ruleset + /// - actor: The actor who updated the ruleset + /// - updatedAt: + public init( + versionId: Swift.Int, + actor: Components.Schemas.RulesetVersion.ActorPayload, + updatedAt: Foundation.Date + ) { + self.versionId = versionId + self.actor = actor + self.updatedAt = updatedAt + } + public enum CodingKeys: String, CodingKey { + case versionId = "version_id" + case actor + case updatedAt = "updated_at" + } + } + /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state`. + public struct RulesetVersionWithState: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value1`. + public var value1: Components.Schemas.RulesetVersion + /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2`. + public struct Value2Payload: Codable, Hashable, Sendable { + /// The state of the ruleset version + /// + /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2/state`. + public var state: OpenAPIRuntime.OpenAPIObjectContainer + /// Creates a new `Value2Payload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled + /// - state: The state of the ruleset version + public init(state: OpenAPIRuntime.OpenAPIObjectContainer) { + self.state = state } public enum CodingKeys: String, CodingKey { - case enabled + case state } } - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes`. - public var allowForcePushes: Components.Schemas.BranchProtection.AllowForcePushesPayload? - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions`. - public struct AllowDeletionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `AllowDeletionsPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + /// - Remark: Generated from `#/components/schemas/ruleset-version-with-state/value2`. + public var value2: Components.Schemas.RulesetVersionWithState.Value2Payload + /// Creates a new `RulesetVersionWithState`. + /// + /// - Parameters: + /// - value1: + /// - value2: + public init( + value1: Components.Schemas.RulesetVersion, + value2: Components.Schemas.RulesetVersionWithState.Value2Payload + ) { + self.value1 = value1 + self.value2 = value2 } - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions`. - public var allowDeletions: Components.Schemas.BranchProtection.AllowDeletionsPayload? - /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations`. - public struct BlockCreationsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `BlockCreationsPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + public init(from decoder: any Decoder) throws { + self.value1 = try .init(from: decoder) + self.value2 = try .init(from: decoder) } - /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations`. - public var blockCreations: Components.Schemas.BranchProtection.BlockCreationsPayload? - /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution`. - public struct RequiredConversationResolutionPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `RequiredConversationResolutionPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + public func encode(to encoder: any Encoder) throws { + try self.value1.encode(to: encoder) + try self.value2.encode(to: encoder) } - /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution`. - public var requiredConversationResolution: Components.Schemas.BranchProtection.RequiredConversationResolutionPayload? - /// - Remark: Generated from `#/components/schemas/branch-protection/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-protection/protection_url`. - public var protectionUrl: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures`. - public struct RequiredSignaturesPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures/enabled`. - public var enabled: Swift.Bool - /// Creates a new `RequiredSignaturesPayload`. - /// - /// - Parameters: - /// - url: - /// - enabled: - public init( - url: Swift.String, - enabled: Swift.Bool - ) { - self.url = url - self.enabled = enabled + } + /// The type of reviewer. + /// + /// - Remark: Generated from `#/components/schemas/deployment-reviewer-type`. + @frozen public enum DeploymentReviewerType: String, Codable, Hashable, Sendable, CaseIterable { + case user = "User" + case team = "Team" + } + /// A request for a specific ref(branch,sha,tag) to be deployed + /// + /// - Remark: Generated from `#/components/schemas/deployment`. + public struct Deployment: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/deployment/url`. + public var url: Swift.String + /// Unique identifier of the deployment + /// + /// - Remark: Generated from `#/components/schemas/deployment/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/deployment/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/deployment/sha`. + public var sha: Swift.String + /// The ref to deploy. This can be a branch, tag, or sha. + /// + /// - Remark: Generated from `#/components/schemas/deployment/ref`. + public var ref: Swift.String + /// Parameter to specify a task to execute + /// + /// - Remark: Generated from `#/components/schemas/deployment/task`. + public var task: Swift.String + /// - Remark: Generated from `#/components/schemas/deployment/payload`. + @frozen public enum PayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/deployment/payload/case1`. + public struct Case1Payload: Codable, Hashable, Sendable { + /// A container of undocumented properties. + public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer + /// Creates a new `Case1Payload`. + /// + /// - Parameters: + /// - additionalProperties: A container of undocumented properties. + public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { + self.additionalProperties = additionalProperties + } + public init(from decoder: any Decoder) throws { + additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) + } + public func encode(to encoder: any Encoder) throws { + try encoder.encodeAdditionalProperties(additionalProperties) + } } - public enum CodingKeys: String, CodingKey { - case url - case enabled + /// - Remark: Generated from `#/components/schemas/deployment/payload/case1`. + case case1(Components.Schemas.Deployment.PayloadPayload.Case1Payload) + /// - Remark: Generated from `#/components/schemas/deployment/payload/case2`. + case case2(Swift.String) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .case2(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try value.encode(to: encoder) + case let .case2(value): + try encoder.encodeToSingleValueContainer(value) + } } } - /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures`. - public var requiredSignatures: Components.Schemas.BranchProtection.RequiredSignaturesPayload? - /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// - Remark: Generated from `#/components/schemas/deployment/payload`. + public var payload: Components.Schemas.Deployment.PayloadPayload + /// - Remark: Generated from `#/components/schemas/deployment/original_environment`. + public var originalEnvironment: Swift.String? + /// Name for the target deployment environment. + /// + /// - Remark: Generated from `#/components/schemas/deployment/environment`. + public var environment: Swift.String + /// - Remark: Generated from `#/components/schemas/deployment/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/deployment/creator`. + public var creator: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/deployment/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/deployment/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/deployment/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/deployment/repository_url`. + public var repositoryUrl: Swift.String + /// Specifies if the given environment is will no longer exist at some point in the future. Default: false. + /// + /// - Remark: Generated from `#/components/schemas/deployment/transient_environment`. + public var transientEnvironment: Swift.Bool? + /// Specifies if the given environment is one that end-users directly interact with. Default: false. + /// + /// - Remark: Generated from `#/components/schemas/deployment/production_environment`. + public var productionEnvironment: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/deployment/performed_via_github_app`. + public var performedViaGithubApp: Components.Schemas.NullableIntegration? + /// Creates a new `Deployment`. + /// + /// - Parameters: + /// - url: + /// - id: Unique identifier of the deployment + /// - nodeId: + /// - sha: + /// - ref: The ref to deploy. This can be a branch, tag, or sha. + /// - task: Parameter to specify a task to execute + /// - payload: + /// - originalEnvironment: + /// - environment: Name for the target deployment environment. + /// - description: + /// - creator: + /// - createdAt: + /// - updatedAt: + /// - statusesUrl: + /// - repositoryUrl: + /// - transientEnvironment: Specifies if the given environment is will no longer exist at some point in the future. Default: false. + /// - productionEnvironment: Specifies if the given environment is one that end-users directly interact with. Default: false. + /// - performedViaGithubApp: + public init( + url: Swift.String, + id: Swift.Int64, + nodeId: Swift.String, + sha: Swift.String, + ref: Swift.String, + task: Swift.String, + payload: Components.Schemas.Deployment.PayloadPayload, + originalEnvironment: Swift.String? = nil, + environment: Swift.String, + description: Swift.String? = nil, + creator: Components.Schemas.NullableSimpleUser? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + statusesUrl: Swift.String, + repositoryUrl: Swift.String, + transientEnvironment: Swift.Bool? = nil, + productionEnvironment: Swift.Bool? = nil, + performedViaGithubApp: Components.Schemas.NullableIntegration? = nil + ) { + self.url = url + self.id = id + self.nodeId = nodeId + self.sha = sha + self.ref = ref + self.task = task + self.payload = payload + self.originalEnvironment = originalEnvironment + self.environment = environment + self.description = description + self.creator = creator + self.createdAt = createdAt + self.updatedAt = updatedAt + self.statusesUrl = statusesUrl + self.repositoryUrl = repositoryUrl + self.transientEnvironment = transientEnvironment + self.productionEnvironment = productionEnvironment + self.performedViaGithubApp = performedViaGithubApp + } + public enum CodingKeys: String, CodingKey { + case url + case id + case nodeId = "node_id" + case sha + case ref + case task + case payload + case originalEnvironment = "original_environment" + case environment + case description + case creator + case createdAt = "created_at" + case updatedAt = "updated_at" + case statusesUrl = "statuses_url" + case repositoryUrl = "repository_url" + case transientEnvironment = "transient_environment" + case productionEnvironment = "production_environment" + case performedViaGithubApp = "performed_via_github_app" + } + } + /// Activity + /// + /// - Remark: Generated from `#/components/schemas/activity`. + public struct Activity: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/activity/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/activity/node_id`. + public var nodeId: Swift.String + /// The SHA of the commit before the activity. /// - /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch`. - public struct LockBranchPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `LockBranchPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + /// - Remark: Generated from `#/components/schemas/activity/before`. + public var before: Swift.String + /// The SHA of the commit after the activity. + /// + /// - Remark: Generated from `#/components/schemas/activity/after`. + public var after: Swift.String + /// The full Git reference, formatted as `refs/heads/`. + /// + /// - Remark: Generated from `#/components/schemas/activity/ref`. + public var ref: Swift.String + /// The time when the activity occurred. + /// + /// - Remark: Generated from `#/components/schemas/activity/timestamp`. + public var timestamp: Foundation.Date + /// The type of the activity that was performed. + /// + /// - Remark: Generated from `#/components/schemas/activity/activity_type`. + @frozen public enum ActivityTypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case push = "push" + case forcePush = "force_push" + case branchDeletion = "branch_deletion" + case branchCreation = "branch_creation" + case prMerge = "pr_merge" + case mergeQueueMerge = "merge_queue_merge" } - /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// The type of the activity that was performed. /// - /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch`. - public var lockBranch: Components.Schemas.BranchProtection.LockBranchPayload? - /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// - Remark: Generated from `#/components/schemas/activity/activity_type`. + public var activityType: Components.Schemas.Activity.ActivityTypePayload + /// - Remark: Generated from `#/components/schemas/activity/actor`. + public var actor: Components.Schemas.NullableSimpleUser? + /// Creates a new `Activity`. /// - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing`. - public struct AllowForkSyncingPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `AllowForkSyncingPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + /// - Parameters: + /// - id: + /// - nodeId: + /// - before: The SHA of the commit before the activity. + /// - after: The SHA of the commit after the activity. + /// - ref: The full Git reference, formatted as `refs/heads/`. + /// - timestamp: The time when the activity occurred. + /// - activityType: The type of the activity that was performed. + /// - actor: + public init( + id: Swift.Int, + nodeId: Swift.String, + before: Swift.String, + after: Swift.String, + ref: Swift.String, + timestamp: Foundation.Date, + activityType: Components.Schemas.Activity.ActivityTypePayload, + actor: Components.Schemas.NullableSimpleUser? = nil + ) { + self.id = id + self.nodeId = nodeId + self.before = before + self.after = after + self.ref = ref + self.timestamp = timestamp + self.activityType = activityType + self.actor = actor } - /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case before + case after + case ref + case timestamp + case activityType = "activity_type" + case actor + } + } + /// An autolink reference. + /// + /// - Remark: Generated from `#/components/schemas/autolink`. + public struct Autolink: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/autolink/id`. + public var id: Swift.Int + /// The prefix of a key that is linkified. /// - /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing`. - public var allowForkSyncing: Components.Schemas.BranchProtection.AllowForkSyncingPayload? - /// Creates a new `BranchProtection`. + /// - Remark: Generated from `#/components/schemas/autolink/key_prefix`. + public var keyPrefix: Swift.String + /// A template for the target URL that is generated if a key was found. + /// + /// - Remark: Generated from `#/components/schemas/autolink/url_template`. + public var urlTemplate: Swift.String + /// Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. + /// + /// - Remark: Generated from `#/components/schemas/autolink/is_alphanumeric`. + public var isAlphanumeric: Swift.Bool + /// - Remark: Generated from `#/components/schemas/autolink/updated_at`. + public var updatedAt: Foundation.Date? + /// Creates a new `Autolink`. /// /// - Parameters: - /// - url: - /// - enabled: - /// - requiredStatusChecks: - /// - enforceAdmins: - /// - requiredPullRequestReviews: - /// - restrictions: - /// - requiredLinearHistory: - /// - allowForcePushes: - /// - allowDeletions: - /// - blockCreations: - /// - requiredConversationResolution: - /// - name: - /// - protectionUrl: - /// - requiredSignatures: - /// - lockBranch: Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. - /// - allowForkSyncing: Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// - id: + /// - keyPrefix: The prefix of a key that is linkified. + /// - urlTemplate: A template for the target URL that is generated if a key was found. + /// - isAlphanumeric: Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. + /// - updatedAt: public init( - url: Swift.String? = nil, - enabled: Swift.Bool? = nil, - requiredStatusChecks: Components.Schemas.ProtectedBranchRequiredStatusCheck? = nil, - enforceAdmins: Components.Schemas.ProtectedBranchAdminEnforced? = nil, - requiredPullRequestReviews: Components.Schemas.ProtectedBranchPullRequestReview? = nil, - restrictions: Components.Schemas.BranchRestrictionPolicy? = nil, - requiredLinearHistory: Components.Schemas.BranchProtection.RequiredLinearHistoryPayload? = nil, - allowForcePushes: Components.Schemas.BranchProtection.AllowForcePushesPayload? = nil, - allowDeletions: Components.Schemas.BranchProtection.AllowDeletionsPayload? = nil, - blockCreations: Components.Schemas.BranchProtection.BlockCreationsPayload? = nil, - requiredConversationResolution: Components.Schemas.BranchProtection.RequiredConversationResolutionPayload? = nil, - name: Swift.String? = nil, - protectionUrl: Swift.String? = nil, - requiredSignatures: Components.Schemas.BranchProtection.RequiredSignaturesPayload? = nil, - lockBranch: Components.Schemas.BranchProtection.LockBranchPayload? = nil, - allowForkSyncing: Components.Schemas.BranchProtection.AllowForkSyncingPayload? = nil + id: Swift.Int, + keyPrefix: Swift.String, + urlTemplate: Swift.String, + isAlphanumeric: Swift.Bool, + updatedAt: Foundation.Date? = nil ) { - self.url = url - self.enabled = enabled - self.requiredStatusChecks = requiredStatusChecks - self.enforceAdmins = enforceAdmins - self.requiredPullRequestReviews = requiredPullRequestReviews - self.restrictions = restrictions - self.requiredLinearHistory = requiredLinearHistory - self.allowForcePushes = allowForcePushes - self.allowDeletions = allowDeletions - self.blockCreations = blockCreations - self.requiredConversationResolution = requiredConversationResolution - self.name = name - self.protectionUrl = protectionUrl - self.requiredSignatures = requiredSignatures - self.lockBranch = lockBranch - self.allowForkSyncing = allowForkSyncing + self.id = id + self.keyPrefix = keyPrefix + self.urlTemplate = urlTemplate + self.isAlphanumeric = isAlphanumeric + self.updatedAt = updatedAt + } + public enum CodingKeys: String, CodingKey { + case id + case keyPrefix = "key_prefix" + case urlTemplate = "url_template" + case isAlphanumeric = "is_alphanumeric" + case updatedAt = "updated_at" + } + } + /// Check Dependabot security updates + /// + /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes`. + public struct CheckAutomatedSecurityFixes: Codable, Hashable, Sendable { + /// Whether Dependabot security updates are enabled for the repository. + /// + /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes/enabled`. + public var enabled: Swift.Bool + /// Whether Dependabot security updates are paused for the repository. + /// + /// - Remark: Generated from `#/components/schemas/check-automated-security-fixes/paused`. + public var paused: Swift.Bool + /// Creates a new `CheckAutomatedSecurityFixes`. + /// + /// - Parameters: + /// - enabled: Whether Dependabot security updates are enabled for the repository. + /// - paused: Whether Dependabot security updates are paused for the repository. + public init( + enabled: Swift.Bool, + paused: Swift.Bool + ) { + self.enabled = enabled + self.paused = paused } public enum CodingKeys: String, CodingKey { - case url case enabled - case requiredStatusChecks = "required_status_checks" - case enforceAdmins = "enforce_admins" - case requiredPullRequestReviews = "required_pull_request_reviews" - case restrictions - case requiredLinearHistory = "required_linear_history" - case allowForcePushes = "allow_force_pushes" - case allowDeletions = "allow_deletions" - case blockCreations = "block_creations" - case requiredConversationResolution = "required_conversation_resolution" - case name - case protectionUrl = "protection_url" - case requiredSignatures = "required_signatures" - case lockBranch = "lock_branch" - case allowForkSyncing = "allow_fork_syncing" + case paused } } - /// Short Branch + /// Protected Branch Required Status Check /// - /// - Remark: Generated from `#/components/schemas/short-branch`. - public struct ShortBranch: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/short-branch/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/short-branch/commit`. - public struct CommitPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/short-branch/commit/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/short-branch/commit/url`. - public var url: Swift.String - /// Creates a new `CommitPayload`. + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check`. + public struct ProtectedBranchRequiredStatusCheck: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/enforcement_level`. + public var enforcementLevel: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/contexts`. + public var contexts: [Swift.String] + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload`. + public struct ChecksPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload/context`. + public var context: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/ChecksPayload/app_id`. + public var appId: Swift.Int? + /// Creates a new `ChecksPayloadPayload`. /// /// - Parameters: - /// - sha: - /// - url: + /// - context: + /// - appId: public init( - sha: Swift.String, - url: Swift.String + context: Swift.String, + appId: Swift.Int? = nil ) { - self.sha = sha - self.url = url + self.context = context + self.appId = appId } public enum CodingKeys: String, CodingKey { - case sha - case url + case context + case appId = "app_id" } } - /// - Remark: Generated from `#/components/schemas/short-branch/commit`. - public var commit: Components.Schemas.ShortBranch.CommitPayload - /// - Remark: Generated from `#/components/schemas/short-branch/protected`. - public var protected: Swift.Bool - /// - Remark: Generated from `#/components/schemas/short-branch/protection`. - public var protection: Components.Schemas.BranchProtection? - /// - Remark: Generated from `#/components/schemas/short-branch/protection_url`. - public var protectionUrl: Swift.String? - /// Creates a new `ShortBranch`. + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/checks`. + public typealias ChecksPayload = [Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayloadPayload] + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/checks`. + public var checks: Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayload + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/contexts_url`. + public var contextsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-required-status-check/strict`. + public var strict: Swift.Bool? + /// Creates a new `ProtectedBranchRequiredStatusCheck`. /// /// - Parameters: - /// - name: - /// - commit: - /// - protected: - /// - protection: - /// - protectionUrl: + /// - url: + /// - enforcementLevel: + /// - contexts: + /// - checks: + /// - contextsUrl: + /// - strict: public init( - name: Swift.String, - commit: Components.Schemas.ShortBranch.CommitPayload, - protected: Swift.Bool, - protection: Components.Schemas.BranchProtection? = nil, - protectionUrl: Swift.String? = nil + url: Swift.String? = nil, + enforcementLevel: Swift.String? = nil, + contexts: [Swift.String], + checks: Components.Schemas.ProtectedBranchRequiredStatusCheck.ChecksPayload, + contextsUrl: Swift.String? = nil, + strict: Swift.Bool? = nil ) { - self.name = name - self.commit = commit - self.protected = protected - self.protection = protection - self.protectionUrl = protectionUrl + self.url = url + self.enforcementLevel = enforcementLevel + self.contexts = contexts + self.checks = checks + self.contextsUrl = contextsUrl + self.strict = strict } public enum CodingKeys: String, CodingKey { - case name - case commit - case protected - case protection - case protectionUrl = "protection_url" + case url + case enforcementLevel = "enforcement_level" + case contexts + case checks + case contextsUrl = "contexts_url" + case strict } } - /// Metaproperties for Git author/committer information. + /// Protected Branch Admin Enforced /// - /// - Remark: Generated from `#/components/schemas/nullable-git-user`. - public struct NullableGitUser: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-git-user/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-git-user/email`. - public var email: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-git-user/date`. - public var date: Swift.String? - /// Creates a new `NullableGitUser`. + /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced`. + public struct ProtectedBranchAdminEnforced: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch-admin-enforced/enabled`. + public var enabled: Swift.Bool + /// Creates a new `ProtectedBranchAdminEnforced`. /// /// - Parameters: - /// - name: - /// - email: - /// - date: + /// - url: + /// - enabled: public init( - name: Swift.String? = nil, - email: Swift.String? = nil, - date: Swift.String? = nil + url: Swift.String, + enabled: Swift.Bool ) { - self.name = name - self.email = email - self.date = date + self.url = url + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case name - case email - case date + case url + case enabled + } + } + /// Protected Branch Pull Request Review + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review`. + public struct ProtectedBranchPullRequestReview: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions`. + public struct DismissalRestrictionsPayload: Codable, Hashable, Sendable { + /// The list of users with review dismissal access. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/users`. + public var users: [Components.Schemas.SimpleUser]? + /// The list of teams with review dismissal access. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/teams`. + public var teams: [Components.Schemas.Team]? + /// The list of apps with review dismissal access. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/apps`. + public var apps: [Components.Schemas.Integration]? + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/users_url`. + public var usersUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions/teams_url`. + public var teamsUrl: Swift.String? + /// Creates a new `DismissalRestrictionsPayload`. + /// + /// - Parameters: + /// - users: The list of users with review dismissal access. + /// - teams: The list of teams with review dismissal access. + /// - apps: The list of apps with review dismissal access. + /// - url: + /// - usersUrl: + /// - teamsUrl: + public init( + users: [Components.Schemas.SimpleUser]? = nil, + teams: [Components.Schemas.Team]? = nil, + apps: [Components.Schemas.Integration]? = nil, + url: Swift.String? = nil, + usersUrl: Swift.String? = nil, + teamsUrl: Swift.String? = nil + ) { + self.users = users + self.teams = teams + self.apps = apps + self.url = url + self.usersUrl = usersUrl + self.teamsUrl = teamsUrl + } + public enum CodingKeys: String, CodingKey { + case users + case teams + case apps + case url + case usersUrl = "users_url" + case teamsUrl = "teams_url" + } + } + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismissal_restrictions`. + public var dismissalRestrictions: Components.Schemas.ProtectedBranchPullRequestReview.DismissalRestrictionsPayload? + /// Allow specific users, teams, or apps to bypass pull request requirements. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances`. + public struct BypassPullRequestAllowancesPayload: Codable, Hashable, Sendable { + /// The list of users allowed to bypass pull request requirements. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/users`. + public var users: [Components.Schemas.SimpleUser]? + /// The list of teams allowed to bypass pull request requirements. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/teams`. + public var teams: [Components.Schemas.Team]? + /// The list of apps allowed to bypass pull request requirements. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances/apps`. + public var apps: [Components.Schemas.Integration]? + /// Creates a new `BypassPullRequestAllowancesPayload`. + /// + /// - Parameters: + /// - users: The list of users allowed to bypass pull request requirements. + /// - teams: The list of teams allowed to bypass pull request requirements. + /// - apps: The list of apps allowed to bypass pull request requirements. + public init( + users: [Components.Schemas.SimpleUser]? = nil, + teams: [Components.Schemas.Team]? = nil, + apps: [Components.Schemas.Integration]? = nil + ) { + self.users = users + self.teams = teams + self.apps = apps + } + public enum CodingKeys: String, CodingKey { + case users + case teams + case apps + } } - } - /// - Remark: Generated from `#/components/schemas/verification`. - public struct Verification: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/verification/verified`. - public var verified: Swift.Bool - /// - Remark: Generated from `#/components/schemas/verification/reason`. - public var reason: Swift.String - /// - Remark: Generated from `#/components/schemas/verification/payload`. - public var payload: Swift.String? - /// - Remark: Generated from `#/components/schemas/verification/signature`. - public var signature: Swift.String? - /// - Remark: Generated from `#/components/schemas/verification/verified_at`. - public var verifiedAt: Swift.String? - /// Creates a new `Verification`. + /// Allow specific users, teams, or apps to bypass pull request requirements. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/bypass_pull_request_allowances`. + public var bypassPullRequestAllowances: Components.Schemas.ProtectedBranchPullRequestReview.BypassPullRequestAllowancesPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/dismiss_stale_reviews`. + public var dismissStaleReviews: Swift.Bool + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/require_code_owner_reviews`. + public var requireCodeOwnerReviews: Swift.Bool + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/required_approving_review_count`. + public var requiredApprovingReviewCount: Swift.Int? + /// Whether the most recent push must be approved by someone other than the person who pushed it. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch-pull-request-review/require_last_push_approval`. + public var requireLastPushApproval: Swift.Bool? + /// Creates a new `ProtectedBranchPullRequestReview`. /// /// - Parameters: - /// - verified: - /// - reason: - /// - payload: - /// - signature: - /// - verifiedAt: + /// - url: + /// - dismissalRestrictions: + /// - bypassPullRequestAllowances: Allow specific users, teams, or apps to bypass pull request requirements. + /// - dismissStaleReviews: + /// - requireCodeOwnerReviews: + /// - requiredApprovingReviewCount: + /// - requireLastPushApproval: Whether the most recent push must be approved by someone other than the person who pushed it. public init( - verified: Swift.Bool, - reason: Swift.String, - payload: Swift.String? = nil, - signature: Swift.String? = nil, - verifiedAt: Swift.String? = nil + url: Swift.String? = nil, + dismissalRestrictions: Components.Schemas.ProtectedBranchPullRequestReview.DismissalRestrictionsPayload? = nil, + bypassPullRequestAllowances: Components.Schemas.ProtectedBranchPullRequestReview.BypassPullRequestAllowancesPayload? = nil, + dismissStaleReviews: Swift.Bool, + requireCodeOwnerReviews: Swift.Bool, + requiredApprovingReviewCount: Swift.Int? = nil, + requireLastPushApproval: Swift.Bool? = nil ) { - self.verified = verified - self.reason = reason - self.payload = payload - self.signature = signature - self.verifiedAt = verifiedAt + self.url = url + self.dismissalRestrictions = dismissalRestrictions + self.bypassPullRequestAllowances = bypassPullRequestAllowances + self.dismissStaleReviews = dismissStaleReviews + self.requireCodeOwnerReviews = requireCodeOwnerReviews + self.requiredApprovingReviewCount = requiredApprovingReviewCount + self.requireLastPushApproval = requireLastPushApproval } public enum CodingKeys: String, CodingKey { - case verified - case reason - case payload - case signature - case verifiedAt = "verified_at" + case url + case dismissalRestrictions = "dismissal_restrictions" + case bypassPullRequestAllowances = "bypass_pull_request_allowances" + case dismissStaleReviews = "dismiss_stale_reviews" + case requireCodeOwnerReviews = "require_code_owner_reviews" + case requiredApprovingReviewCount = "required_approving_review_count" + case requireLastPushApproval = "require_last_push_approval" } } - /// Diff Entry + /// Branch Restriction Policy /// - /// - Remark: Generated from `#/components/schemas/diff-entry`. - public struct DiffEntry: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/diff-entry/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/filename`. - public var filename: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/status`. - @frozen public enum StatusPayload: String, Codable, Hashable, Sendable, CaseIterable { - case added = "added" - case removed = "removed" - case modified = "modified" - case renamed = "renamed" - case copied = "copied" - case changed = "changed" - case unchanged = "unchanged" - } - /// - Remark: Generated from `#/components/schemas/diff-entry/status`. - public var status: Components.Schemas.DiffEntry.StatusPayload - /// - Remark: Generated from `#/components/schemas/diff-entry/additions`. - public var additions: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/deletions`. - public var deletions: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/changes`. - public var changes: Swift.Int - /// - Remark: Generated from `#/components/schemas/diff-entry/blob_url`. - public var blobUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/raw_url`. - public var rawUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/contents_url`. - public var contentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/diff-entry/patch`. - public var patch: Swift.String? - /// - Remark: Generated from `#/components/schemas/diff-entry/previous_filename`. - public var previousFilename: Swift.String? - /// Creates a new `DiffEntry`. - /// - /// - Parameters: - /// - sha: - /// - filename: - /// - status: - /// - additions: - /// - deletions: - /// - changes: - /// - blobUrl: - /// - rawUrl: - /// - contentsUrl: - /// - patch: - /// - previousFilename: - public init( - sha: Swift.String, - filename: Swift.String, - status: Components.Schemas.DiffEntry.StatusPayload, - additions: Swift.Int, - deletions: Swift.Int, - changes: Swift.Int, - blobUrl: Swift.String, - rawUrl: Swift.String, - contentsUrl: Swift.String, - patch: Swift.String? = nil, - previousFilename: Swift.String? = nil - ) { - self.sha = sha - self.filename = filename - self.status = status - self.additions = additions - self.deletions = deletions - self.changes = changes - self.blobUrl = blobUrl - self.rawUrl = rawUrl - self.contentsUrl = contentsUrl - self.patch = patch - self.previousFilename = previousFilename - } - public enum CodingKeys: String, CodingKey { - case sha - case filename - case status - case additions - case deletions - case changes - case blobUrl = "blob_url" - case rawUrl = "raw_url" - case contentsUrl = "contents_url" - case patch - case previousFilename = "previous_filename" + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy`. + public struct BranchRestrictionPolicy: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users_url`. + public var usersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/teams_url`. + public var teamsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps_url`. + public var appsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload`. + public struct UsersPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/login`. + public var login: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/id`. + public var id: Swift.Int64? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/node_id`. + public var nodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/avatar_url`. + public var avatarUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/html_url`. + public var htmlUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/followers_url`. + public var followersUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/following_url`. + public var followingUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/gists_url`. + public var gistsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/starred_url`. + public var starredUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/subscriptions_url`. + public var subscriptionsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/organizations_url`. + public var organizationsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/repos_url`. + public var reposUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/events_url`. + public var eventsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/received_events_url`. + public var receivedEventsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/type`. + public var _type: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/site_admin`. + public var siteAdmin: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/UsersPayload/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `UsersPayloadPayload`. + /// + /// - Parameters: + /// - login: + /// - id: + /// - nodeId: + /// - avatarUrl: + /// - gravatarId: + /// - url: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - reposUrl: + /// - eventsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - userViewType: + public init( + login: Swift.String? = nil, + id: Swift.Int64? = nil, + nodeId: Swift.String? = nil, + avatarUrl: Swift.String? = nil, + gravatarId: Swift.String? = nil, + url: Swift.String? = nil, + htmlUrl: Swift.String? = nil, + followersUrl: Swift.String? = nil, + followingUrl: Swift.String? = nil, + gistsUrl: Swift.String? = nil, + starredUrl: Swift.String? = nil, + subscriptionsUrl: Swift.String? = nil, + organizationsUrl: Swift.String? = nil, + reposUrl: Swift.String? = nil, + eventsUrl: Swift.String? = nil, + receivedEventsUrl: Swift.String? = nil, + _type: Swift.String? = nil, + siteAdmin: Swift.Bool? = nil, + userViewType: Swift.String? = nil + ) { + self.login = login + self.id = id + self.nodeId = nodeId + self.avatarUrl = avatarUrl + self.gravatarId = gravatarId + self.url = url + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case login + case id + case nodeId = "node_id" + case avatarUrl = "avatar_url" + case gravatarId = "gravatar_id" + case url + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case userViewType = "user_view_type" + } } - } - /// Commit - /// - /// - Remark: Generated from `#/components/schemas/commit`. - public struct Commit: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/comments_url`. - public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit`. - public struct CommitPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/commit/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/author`. - public var author: Components.Schemas.NullableGitUser? - /// - Remark: Generated from `#/components/schemas/commit/commit/committer`. - public var committer: Components.Schemas.NullableGitUser? - /// - Remark: Generated from `#/components/schemas/commit/commit/message`. - public var message: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/comment_count`. - public var commentCount: Swift.Int - /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. - public struct TreePayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/commit/tree/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/commit/tree/url`. - public var url: Swift.String - /// Creates a new `TreePayload`. + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users`. + public typealias UsersPayload = [Components.Schemas.BranchRestrictionPolicy.UsersPayloadPayload] + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/users`. + public var users: Components.Schemas.BranchRestrictionPolicy.UsersPayload + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/teams`. + public var teams: [Components.Schemas.Team] + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload`. + public struct AppsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/id`. + public var id: Swift.Int? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/slug`. + public var slug: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/node_id`. + public var nodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner`. + public struct OwnerPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/login`. + public var login: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/id`. + public var id: Swift.Int? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/node_id`. + public var nodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/repos_url`. + public var reposUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/events_url`. + public var eventsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/hooks_url`. + public var hooksUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/issues_url`. + public var issuesUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/members_url`. + public var membersUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/public_members_url`. + public var publicMembersUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/avatar_url`. + public var avatarUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/html_url`. + public var htmlUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/followers_url`. + public var followersUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/following_url`. + public var followingUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/gists_url`. + public var gistsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/starred_url`. + public var starredUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/subscriptions_url`. + public var subscriptionsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/organizations_url`. + public var organizationsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/received_events_url`. + public var receivedEventsUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/type`. + public var _type: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/site_admin`. + public var siteAdmin: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `OwnerPayload`. + /// + /// - Parameters: + /// - login: + /// - id: + /// - nodeId: + /// - url: + /// - reposUrl: + /// - eventsUrl: + /// - hooksUrl: + /// - issuesUrl: + /// - membersUrl: + /// - publicMembersUrl: + /// - avatarUrl: + /// - description: + /// - gravatarId: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - userViewType: + public init( + login: Swift.String? = nil, + id: Swift.Int? = nil, + nodeId: Swift.String? = nil, + url: Swift.String? = nil, + reposUrl: Swift.String? = nil, + eventsUrl: Swift.String? = nil, + hooksUrl: Swift.String? = nil, + issuesUrl: Swift.String? = nil, + membersUrl: Swift.String? = nil, + publicMembersUrl: Swift.String? = nil, + avatarUrl: Swift.String? = nil, + description: Swift.String? = nil, + gravatarId: Swift.String? = nil, + htmlUrl: Swift.String? = nil, + followersUrl: Swift.String? = nil, + followingUrl: Swift.String? = nil, + gistsUrl: Swift.String? = nil, + starredUrl: Swift.String? = nil, + subscriptionsUrl: Swift.String? = nil, + organizationsUrl: Swift.String? = nil, + receivedEventsUrl: Swift.String? = nil, + _type: Swift.String? = nil, + siteAdmin: Swift.Bool? = nil, + userViewType: Swift.String? = nil + ) { + self.login = login + self.id = id + self.nodeId = nodeId + self.url = url + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.hooksUrl = hooksUrl + self.issuesUrl = issuesUrl + self.membersUrl = membersUrl + self.publicMembersUrl = publicMembersUrl + self.avatarUrl = avatarUrl + self.description = description + self.gravatarId = gravatarId + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case login + case id + case nodeId = "node_id" + case url + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case hooksUrl = "hooks_url" + case issuesUrl = "issues_url" + case membersUrl = "members_url" + case publicMembersUrl = "public_members_url" + case avatarUrl = "avatar_url" + case description + case gravatarId = "gravatar_id" + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case userViewType = "user_view_type" + } + } + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/owner`. + public var owner: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.OwnerPayload? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/client_id`. + public var clientId: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/external_url`. + public var externalUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/html_url`. + public var htmlUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/created_at`. + public var createdAt: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/updated_at`. + public var updatedAt: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/metadata`. + public var metadata: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/contents`. + public var contents: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/issues`. + public var issues: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions/single_file`. + public var singleFile: Swift.String? + /// Creates a new `PermissionsPayload`. /// /// - Parameters: - /// - sha: - /// - url: + /// - metadata: + /// - contents: + /// - issues: + /// - singleFile: public init( - sha: Swift.String, - url: Swift.String + metadata: Swift.String? = nil, + contents: Swift.String? = nil, + issues: Swift.String? = nil, + singleFile: Swift.String? = nil ) { - self.sha = sha - self.url = url + self.metadata = metadata + self.contents = contents + self.issues = issues + self.singleFile = singleFile } public enum CodingKeys: String, CodingKey { - case sha - case url + case metadata + case contents + case issues + case singleFile = "single_file" } } - /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. - public var tree: Components.Schemas.Commit.CommitPayload.TreePayload - /// - Remark: Generated from `#/components/schemas/commit/commit/verification`. - public var verification: Components.Schemas.Verification? - /// Creates a new `CommitPayload`. + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/permissions`. + public var permissions: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/AppsPayload/events`. + public var events: [Swift.String]? + /// Creates a new `AppsPayloadPayload`. /// /// - Parameters: - /// - url: - /// - author: - /// - committer: - /// - message: - /// - commentCount: - /// - tree: - /// - verification: + /// - id: + /// - slug: + /// - nodeId: + /// - owner: + /// - name: + /// - clientId: + /// - description: + /// - externalUrl: + /// - htmlUrl: + /// - createdAt: + /// - updatedAt: + /// - permissions: + /// - events: public init( - url: Swift.String, - author: Components.Schemas.NullableGitUser? = nil, - committer: Components.Schemas.NullableGitUser? = nil, - message: Swift.String, - commentCount: Swift.Int, - tree: Components.Schemas.Commit.CommitPayload.TreePayload, - verification: Components.Schemas.Verification? = nil + id: Swift.Int? = nil, + slug: Swift.String? = nil, + nodeId: Swift.String? = nil, + owner: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.OwnerPayload? = nil, + name: Swift.String? = nil, + clientId: Swift.String? = nil, + description: Swift.String? = nil, + externalUrl: Swift.String? = nil, + htmlUrl: Swift.String? = nil, + createdAt: Swift.String? = nil, + updatedAt: Swift.String? = nil, + permissions: Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload.PermissionsPayload? = nil, + events: [Swift.String]? = nil ) { - self.url = url - self.author = author - self.committer = committer - self.message = message - self.commentCount = commentCount - self.tree = tree - self.verification = verification + self.id = id + self.slug = slug + self.nodeId = nodeId + self.owner = owner + self.name = name + self.clientId = clientId + self.description = description + self.externalUrl = externalUrl + self.htmlUrl = htmlUrl + self.createdAt = createdAt + self.updatedAt = updatedAt + self.permissions = permissions + self.events = events } public enum CodingKeys: String, CodingKey { - case url - case author - case committer - case message - case commentCount = "comment_count" - case tree - case verification + case id + case slug + case nodeId = "node_id" + case owner + case name + case clientId = "client_id" + case description + case externalUrl = "external_url" + case htmlUrl = "html_url" + case createdAt = "created_at" + case updatedAt = "updated_at" + case permissions + case events } } - /// - Remark: Generated from `#/components/schemas/commit/commit`. - public var commit: Components.Schemas.Commit.CommitPayload - /// - Remark: Generated from `#/components/schemas/commit/author`. - @frozen public enum AuthorPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/author/case1`. - case SimpleUser(Components.Schemas.SimpleUser) - /// - Remark: Generated from `#/components/schemas/commit/author/case2`. - case EmptyObject(Components.Schemas.EmptyObject) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .SimpleUser(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .EmptyObject(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps`. + public typealias AppsPayload = [Components.Schemas.BranchRestrictionPolicy.AppsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/branch-restriction-policy/apps`. + public var apps: Components.Schemas.BranchRestrictionPolicy.AppsPayload + /// Creates a new `BranchRestrictionPolicy`. + /// + /// - Parameters: + /// - url: + /// - usersUrl: + /// - teamsUrl: + /// - appsUrl: + /// - users: + /// - teams: + /// - apps: + public init( + url: Swift.String, + usersUrl: Swift.String, + teamsUrl: Swift.String, + appsUrl: Swift.String, + users: Components.Schemas.BranchRestrictionPolicy.UsersPayload, + teams: [Components.Schemas.Team], + apps: Components.Schemas.BranchRestrictionPolicy.AppsPayload + ) { + self.url = url + self.usersUrl = usersUrl + self.teamsUrl = teamsUrl + self.appsUrl = appsUrl + self.users = users + self.teams = teams + self.apps = apps + } + public enum CodingKeys: String, CodingKey { + case url + case usersUrl = "users_url" + case teamsUrl = "teams_url" + case appsUrl = "apps_url" + case users + case teams + case apps + } + } + /// Branch Protection + /// + /// - Remark: Generated from `#/components/schemas/branch-protection`. + public struct BranchProtection: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-protection/enabled`. + public var enabled: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/branch-protection/required_status_checks`. + public var requiredStatusChecks: Components.Schemas.ProtectedBranchRequiredStatusCheck? + /// - Remark: Generated from `#/components/schemas/branch-protection/enforce_admins`. + public var enforceAdmins: Components.Schemas.ProtectedBranchAdminEnforced? + /// - Remark: Generated from `#/components/schemas/branch-protection/required_pull_request_reviews`. + public var requiredPullRequestReviews: Components.Schemas.ProtectedBranchPullRequestReview? + /// - Remark: Generated from `#/components/schemas/branch-protection/restrictions`. + public var restrictions: Components.Schemas.BranchRestrictionPolicy? + /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history`. + public struct RequiredLinearHistoryPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `RequiredLinearHistoryPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + } + /// - Remark: Generated from `#/components/schemas/branch-protection/required_linear_history`. + public var requiredLinearHistory: Components.Schemas.BranchProtection.RequiredLinearHistoryPayload? + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes`. + public struct AllowForcePushesPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `AllowForcePushesPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .SimpleUser(value): - try value.encode(to: encoder) - case let .EmptyObject(value): - try value.encode(to: encoder) - } + } + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_force_pushes`. + public var allowForcePushes: Components.Schemas.BranchProtection.AllowForcePushesPayload? + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions`. + public struct AllowDeletionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `AllowDeletionsPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled } } - /// - Remark: Generated from `#/components/schemas/commit/author`. - public var author: Components.Schemas.Commit.AuthorPayload? - /// - Remark: Generated from `#/components/schemas/commit/committer`. - @frozen public enum CommitterPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/committer/case1`. - case SimpleUser(Components.Schemas.SimpleUser) - /// - Remark: Generated from `#/components/schemas/commit/committer/case2`. - case EmptyObject(Components.Schemas.EmptyObject) - public init(from decoder: any Decoder) throws { - var errors: [any Error] = [] - do { - self = .SimpleUser(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - do { - self = .EmptyObject(try .init(from: decoder)) - return - } catch { - errors.append(error) - } - throw Swift.DecodingError.failedToDecodeOneOfSchema( - type: Self.self, - codingPath: decoder.codingPath, - errors: errors - ) + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_deletions`. + public var allowDeletions: Components.Schemas.BranchProtection.AllowDeletionsPayload? + /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations`. + public struct BlockCreationsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `BlockCreationsPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled } - public func encode(to encoder: any Encoder) throws { - switch self { - case let .SimpleUser(value): - try value.encode(to: encoder) - case let .EmptyObject(value): - try value.encode(to: encoder) - } + public enum CodingKeys: String, CodingKey { + case enabled } } - /// - Remark: Generated from `#/components/schemas/commit/committer`. - public var committer: Components.Schemas.Commit.CommitterPayload? - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload`. - public struct ParentsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/url`. + /// - Remark: Generated from `#/components/schemas/branch-protection/block_creations`. + public var blockCreations: Components.Schemas.BranchProtection.BlockCreationsPayload? + /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution`. + public struct RequiredConversationResolutionPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `RequiredConversationResolutionPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + } + /// - Remark: Generated from `#/components/schemas/branch-protection/required_conversation_resolution`. + public var requiredConversationResolution: Components.Schemas.BranchProtection.RequiredConversationResolutionPayload? + /// - Remark: Generated from `#/components/schemas/branch-protection/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-protection/protection_url`. + public var protectionUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures`. + public struct RequiredSignaturesPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/html_url`. - public var htmlUrl: Swift.String? - /// Creates a new `ParentsPayloadPayload`. + /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures/enabled`. + public var enabled: Swift.Bool + /// Creates a new `RequiredSignaturesPayload`. /// /// - Parameters: - /// - sha: /// - url: - /// - htmlUrl: + /// - enabled: public init( - sha: Swift.String, url: Swift.String, - htmlUrl: Swift.String? = nil + enabled: Swift.Bool ) { - self.sha = sha self.url = url - self.htmlUrl = htmlUrl + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case sha case url - case htmlUrl = "html_url" + case enabled } } - /// - Remark: Generated from `#/components/schemas/commit/parents`. - public typealias ParentsPayload = [Components.Schemas.Commit.ParentsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/commit/parents`. - public var parents: Components.Schemas.Commit.ParentsPayload - /// - Remark: Generated from `#/components/schemas/commit/stats`. - public struct StatsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit/stats/additions`. - public var additions: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit/stats/deletions`. - public var deletions: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit/stats/total`. - public var total: Swift.Int? - /// Creates a new `StatsPayload`. + /// - Remark: Generated from `#/components/schemas/branch-protection/required_signatures`. + public var requiredSignatures: Components.Schemas.BranchProtection.RequiredSignaturesPayload? + /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// + /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch`. + public struct LockBranchPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `LockBranchPayload`. /// /// - Parameters: - /// - additions: - /// - deletions: - /// - total: - public init( - additions: Swift.Int? = nil, - deletions: Swift.Int? = nil, - total: Swift.Int? = nil - ) { - self.additions = additions - self.deletions = deletions - self.total = total + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case additions - case deletions - case total + case enabled } } - /// - Remark: Generated from `#/components/schemas/commit/stats`. - public var stats: Components.Schemas.Commit.StatsPayload? - /// - Remark: Generated from `#/components/schemas/commit/files`. - public var files: [Components.Schemas.DiffEntry]? - /// Creates a new `Commit`. + /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// + /// - Remark: Generated from `#/components/schemas/branch-protection/lock_branch`. + public var lockBranch: Components.Schemas.BranchProtection.LockBranchPayload? + /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing`. + public struct AllowForkSyncingPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `AllowForkSyncingPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + } + /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// + /// - Remark: Generated from `#/components/schemas/branch-protection/allow_fork_syncing`. + public var allowForkSyncing: Components.Schemas.BranchProtection.AllowForkSyncingPayload? + /// Creates a new `BranchProtection`. /// /// - Parameters: /// - url: - /// - sha: - /// - nodeId: - /// - htmlUrl: - /// - commentsUrl: - /// - commit: - /// - author: - /// - committer: - /// - parents: - /// - stats: - /// - files: + /// - enabled: + /// - requiredStatusChecks: + /// - enforceAdmins: + /// - requiredPullRequestReviews: + /// - restrictions: + /// - requiredLinearHistory: + /// - allowForcePushes: + /// - allowDeletions: + /// - blockCreations: + /// - requiredConversationResolution: + /// - name: + /// - protectionUrl: + /// - requiredSignatures: + /// - lockBranch: Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// - allowForkSyncing: Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. public init( - url: Swift.String, - sha: Swift.String, - nodeId: Swift.String, - htmlUrl: Swift.String, - commentsUrl: Swift.String, - commit: Components.Schemas.Commit.CommitPayload, - author: Components.Schemas.Commit.AuthorPayload? = nil, - committer: Components.Schemas.Commit.CommitterPayload? = nil, - parents: Components.Schemas.Commit.ParentsPayload, - stats: Components.Schemas.Commit.StatsPayload? = nil, - files: [Components.Schemas.DiffEntry]? = nil + url: Swift.String? = nil, + enabled: Swift.Bool? = nil, + requiredStatusChecks: Components.Schemas.ProtectedBranchRequiredStatusCheck? = nil, + enforceAdmins: Components.Schemas.ProtectedBranchAdminEnforced? = nil, + requiredPullRequestReviews: Components.Schemas.ProtectedBranchPullRequestReview? = nil, + restrictions: Components.Schemas.BranchRestrictionPolicy? = nil, + requiredLinearHistory: Components.Schemas.BranchProtection.RequiredLinearHistoryPayload? = nil, + allowForcePushes: Components.Schemas.BranchProtection.AllowForcePushesPayload? = nil, + allowDeletions: Components.Schemas.BranchProtection.AllowDeletionsPayload? = nil, + blockCreations: Components.Schemas.BranchProtection.BlockCreationsPayload? = nil, + requiredConversationResolution: Components.Schemas.BranchProtection.RequiredConversationResolutionPayload? = nil, + name: Swift.String? = nil, + protectionUrl: Swift.String? = nil, + requiredSignatures: Components.Schemas.BranchProtection.RequiredSignaturesPayload? = nil, + lockBranch: Components.Schemas.BranchProtection.LockBranchPayload? = nil, + allowForkSyncing: Components.Schemas.BranchProtection.AllowForkSyncingPayload? = nil ) { self.url = url - self.sha = sha - self.nodeId = nodeId - self.htmlUrl = htmlUrl - self.commentsUrl = commentsUrl - self.commit = commit - self.author = author - self.committer = committer - self.parents = parents - self.stats = stats - self.files = files + self.enabled = enabled + self.requiredStatusChecks = requiredStatusChecks + self.enforceAdmins = enforceAdmins + self.requiredPullRequestReviews = requiredPullRequestReviews + self.restrictions = restrictions + self.requiredLinearHistory = requiredLinearHistory + self.allowForcePushes = allowForcePushes + self.allowDeletions = allowDeletions + self.blockCreations = blockCreations + self.requiredConversationResolution = requiredConversationResolution + self.name = name + self.protectionUrl = protectionUrl + self.requiredSignatures = requiredSignatures + self.lockBranch = lockBranch + self.allowForkSyncing = allowForkSyncing } public enum CodingKeys: String, CodingKey { case url - case sha - case nodeId = "node_id" - case htmlUrl = "html_url" - case commentsUrl = "comments_url" - case commit - case author - case committer - case parents - case stats - case files + case enabled + case requiredStatusChecks = "required_status_checks" + case enforceAdmins = "enforce_admins" + case requiredPullRequestReviews = "required_pull_request_reviews" + case restrictions + case requiredLinearHistory = "required_linear_history" + case allowForcePushes = "allow_force_pushes" + case allowDeletions = "allow_deletions" + case blockCreations = "block_creations" + case requiredConversationResolution = "required_conversation_resolution" + case name + case protectionUrl = "protection_url" + case requiredSignatures = "required_signatures" + case lockBranch = "lock_branch" + case allowForkSyncing = "allow_fork_syncing" } } - /// Branch With Protection + /// Short Branch /// - /// - Remark: Generated from `#/components/schemas/branch-with-protection`. - public struct BranchWithProtection: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-with-protection/name`. + /// - Remark: Generated from `#/components/schemas/short-branch`. + public struct ShortBranch: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/short-branch/name`. public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-with-protection/commit`. - public var commit: Components.Schemas.Commit - /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links`. - public struct _LinksPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links/html`. - public var html: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links/self`. - public var _self: Swift.String - /// Creates a new `_LinksPayload`. + /// - Remark: Generated from `#/components/schemas/short-branch/commit`. + public struct CommitPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/short-branch/commit/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/short-branch/commit/url`. + public var url: Swift.String + /// Creates a new `CommitPayload`. /// /// - Parameters: - /// - html: - /// - _self: + /// - sha: + /// - url: public init( - html: Swift.String, - _self: Swift.String + sha: Swift.String, + url: Swift.String ) { - self.html = html - self._self = _self + self.sha = sha + self.url = url } public enum CodingKeys: String, CodingKey { - case html - case _self = "self" + case sha + case url } } - /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links`. - public var _links: Components.Schemas.BranchWithProtection._LinksPayload - /// - Remark: Generated from `#/components/schemas/branch-with-protection/protected`. + /// - Remark: Generated from `#/components/schemas/short-branch/commit`. + public var commit: Components.Schemas.ShortBranch.CommitPayload + /// - Remark: Generated from `#/components/schemas/short-branch/protected`. public var protected: Swift.Bool - /// - Remark: Generated from `#/components/schemas/branch-with-protection/protection`. - public var protection: Components.Schemas.BranchProtection - /// - Remark: Generated from `#/components/schemas/branch-with-protection/protection_url`. - public var protectionUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-with-protection/pattern`. - public var pattern: Swift.String? - /// - Remark: Generated from `#/components/schemas/branch-with-protection/required_approving_review_count`. - public var requiredApprovingReviewCount: Swift.Int? - /// Creates a new `BranchWithProtection`. + /// - Remark: Generated from `#/components/schemas/short-branch/protection`. + public var protection: Components.Schemas.BranchProtection? + /// - Remark: Generated from `#/components/schemas/short-branch/protection_url`. + public var protectionUrl: Swift.String? + /// Creates a new `ShortBranch`. /// /// - Parameters: /// - name: /// - commit: - /// - _links: /// - protected: /// - protection: /// - protectionUrl: - /// - pattern: - /// - requiredApprovingReviewCount: public init( name: Swift.String, - commit: Components.Schemas.Commit, - _links: Components.Schemas.BranchWithProtection._LinksPayload, + commit: Components.Schemas.ShortBranch.CommitPayload, protected: Swift.Bool, - protection: Components.Schemas.BranchProtection, - protectionUrl: Swift.String, - pattern: Swift.String? = nil, - requiredApprovingReviewCount: Swift.Int? = nil + protection: Components.Schemas.BranchProtection? = nil, + protectionUrl: Swift.String? = nil ) { self.name = name self.commit = commit - self._links = _links self.protected = protected self.protection = protection self.protectionUrl = protectionUrl - self.pattern = pattern - self.requiredApprovingReviewCount = requiredApprovingReviewCount } public enum CodingKeys: String, CodingKey { case name case commit - case _links case protected case protection case protectionUrl = "protection_url" - case pattern - case requiredApprovingReviewCount = "required_approving_review_count" } } - /// Status Check Policy + /// Metaproperties for Git author/committer information. /// - /// - Remark: Generated from `#/components/schemas/status-check-policy`. - public struct StatusCheckPolicy: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/status-check-policy/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/status-check-policy/strict`. - public var strict: Swift.Bool - /// - Remark: Generated from `#/components/schemas/status-check-policy/contexts`. - public var contexts: [Swift.String] - /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload`. - public struct ChecksPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload/context`. - public var context: Swift.String - /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload/app_id`. - public var appId: Swift.Int? - /// Creates a new `ChecksPayloadPayload`. - /// - /// - Parameters: - /// - context: - /// - appId: - public init( - context: Swift.String, - appId: Swift.Int? = nil - ) { - self.context = context - self.appId = appId - } - public enum CodingKeys: String, CodingKey { - case context - case appId = "app_id" - } + /// - Remark: Generated from `#/components/schemas/nullable-git-user`. + public struct NullableGitUser: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-git-user/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-git-user/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-git-user/date`. + public var date: Swift.String? + /// Creates a new `NullableGitUser`. + /// + /// - Parameters: + /// - name: + /// - email: + /// - date: + public init( + name: Swift.String? = nil, + email: Swift.String? = nil, + date: Swift.String? = nil + ) { + self.name = name + self.email = email + self.date = date } - /// - Remark: Generated from `#/components/schemas/status-check-policy/checks`. - public typealias ChecksPayload = [Components.Schemas.StatusCheckPolicy.ChecksPayloadPayload] - /// - Remark: Generated from `#/components/schemas/status-check-policy/checks`. - public var checks: Components.Schemas.StatusCheckPolicy.ChecksPayload - /// - Remark: Generated from `#/components/schemas/status-check-policy/contexts_url`. - public var contextsUrl: Swift.String - /// Creates a new `StatusCheckPolicy`. + public enum CodingKeys: String, CodingKey { + case name + case email + case date + } + } + /// - Remark: Generated from `#/components/schemas/verification`. + public struct Verification: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/verification/verified`. + public var verified: Swift.Bool + /// - Remark: Generated from `#/components/schemas/verification/reason`. + public var reason: Swift.String + /// - Remark: Generated from `#/components/schemas/verification/payload`. + public var payload: Swift.String? + /// - Remark: Generated from `#/components/schemas/verification/signature`. + public var signature: Swift.String? + /// - Remark: Generated from `#/components/schemas/verification/verified_at`. + public var verifiedAt: Swift.String? + /// Creates a new `Verification`. + /// + /// - Parameters: + /// - verified: + /// - reason: + /// - payload: + /// - signature: + /// - verifiedAt: + public init( + verified: Swift.Bool, + reason: Swift.String, + payload: Swift.String? = nil, + signature: Swift.String? = nil, + verifiedAt: Swift.String? = nil + ) { + self.verified = verified + self.reason = reason + self.payload = payload + self.signature = signature + self.verifiedAt = verifiedAt + } + public enum CodingKeys: String, CodingKey { + case verified + case reason + case payload + case signature + case verifiedAt = "verified_at" + } + } + /// Diff Entry + /// + /// - Remark: Generated from `#/components/schemas/diff-entry`. + public struct DiffEntry: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/diff-entry/sha`. + public var sha: Swift.String? + /// - Remark: Generated from `#/components/schemas/diff-entry/filename`. + public var filename: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/status`. + @frozen public enum StatusPayload: String, Codable, Hashable, Sendable, CaseIterable { + case added = "added" + case removed = "removed" + case modified = "modified" + case renamed = "renamed" + case copied = "copied" + case changed = "changed" + case unchanged = "unchanged" + } + /// - Remark: Generated from `#/components/schemas/diff-entry/status`. + public var status: Components.Schemas.DiffEntry.StatusPayload + /// - Remark: Generated from `#/components/schemas/diff-entry/additions`. + public var additions: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/deletions`. + public var deletions: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/changes`. + public var changes: Swift.Int + /// - Remark: Generated from `#/components/schemas/diff-entry/blob_url`. + public var blobUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/raw_url`. + public var rawUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/contents_url`. + public var contentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/diff-entry/patch`. + public var patch: Swift.String? + /// - Remark: Generated from `#/components/schemas/diff-entry/previous_filename`. + public var previousFilename: Swift.String? + /// Creates a new `DiffEntry`. /// /// - Parameters: - /// - url: - /// - strict: - /// - contexts: - /// - checks: - /// - contextsUrl: + /// - sha: + /// - filename: + /// - status: + /// - additions: + /// - deletions: + /// - changes: + /// - blobUrl: + /// - rawUrl: + /// - contentsUrl: + /// - patch: + /// - previousFilename: public init( - url: Swift.String, - strict: Swift.Bool, - contexts: [Swift.String], - checks: Components.Schemas.StatusCheckPolicy.ChecksPayload, - contextsUrl: Swift.String + sha: Swift.String? = nil, + filename: Swift.String, + status: Components.Schemas.DiffEntry.StatusPayload, + additions: Swift.Int, + deletions: Swift.Int, + changes: Swift.Int, + blobUrl: Swift.String, + rawUrl: Swift.String, + contentsUrl: Swift.String, + patch: Swift.String? = nil, + previousFilename: Swift.String? = nil ) { - self.url = url - self.strict = strict - self.contexts = contexts - self.checks = checks - self.contextsUrl = contextsUrl + self.sha = sha + self.filename = filename + self.status = status + self.additions = additions + self.deletions = deletions + self.changes = changes + self.blobUrl = blobUrl + self.rawUrl = rawUrl + self.contentsUrl = contentsUrl + self.patch = patch + self.previousFilename = previousFilename } public enum CodingKeys: String, CodingKey { - case url - case strict - case contexts - case checks - case contextsUrl = "contexts_url" + case sha + case filename + case status + case additions + case deletions + case changes + case blobUrl = "blob_url" + case rawUrl = "raw_url" + case contentsUrl = "contents_url" + case patch + case previousFilename = "previous_filename" } } - /// Branch protections protect branches + /// Commit /// - /// - Remark: Generated from `#/components/schemas/protected-branch`. - public struct ProtectedBranch: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/url`. + /// - Remark: Generated from `#/components/schemas/commit`. + public struct Commit: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_status_checks`. - public var requiredStatusChecks: Components.Schemas.StatusCheckPolicy? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews`. - public struct RequiredPullRequestReviewsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/url`. + /// - Remark: Generated from `#/components/schemas/commit/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/commit`. + public struct CommitPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/commit/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismiss_stale_reviews`. - public var dismissStaleReviews: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/require_code_owner_reviews`. - public var requireCodeOwnerReviews: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/required_approving_review_count`. - public var requiredApprovingReviewCount: Swift.Int? - /// Whether the most recent push must be approved by someone other than the person who pushed it. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/require_last_push_approval`. - public var requireLastPushApproval: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions`. - public struct DismissalRestrictionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/url`. + /// - Remark: Generated from `#/components/schemas/commit/commit/author`. + public var author: Components.Schemas.NullableGitUser? + /// - Remark: Generated from `#/components/schemas/commit/commit/committer`. + public var committer: Components.Schemas.NullableGitUser? + /// - Remark: Generated from `#/components/schemas/commit/commit/message`. + public var message: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/commit/comment_count`. + public var commentCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. + public struct TreePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/commit/tree/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/commit/tree/url`. public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/users_url`. - public var usersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/teams_url`. - public var teamsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/users`. - public var users: [Components.Schemas.SimpleUser] - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/teams`. - public var teams: [Components.Schemas.Team] - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/apps`. - public var apps: [Components.Schemas.Integration]? - /// Creates a new `DismissalRestrictionsPayload`. + /// Creates a new `TreePayload`. /// /// - Parameters: + /// - sha: /// - url: - /// - usersUrl: - /// - teamsUrl: - /// - users: - /// - teams: - /// - apps: - public init( - url: Swift.String, - usersUrl: Swift.String, - teamsUrl: Swift.String, - users: [Components.Schemas.SimpleUser], - teams: [Components.Schemas.Team], - apps: [Components.Schemas.Integration]? = nil - ) { - self.url = url - self.usersUrl = usersUrl - self.teamsUrl = teamsUrl - self.users = users - self.teams = teams - self.apps = apps - } - public enum CodingKeys: String, CodingKey { - case url - case usersUrl = "users_url" - case teamsUrl = "teams_url" - case users - case teams - case apps - } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions`. - public var dismissalRestrictions: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.DismissalRestrictionsPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances`. - public struct BypassPullRequestAllowancesPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/users`. - public var users: [Components.Schemas.SimpleUser] - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/teams`. - public var teams: [Components.Schemas.Team] - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/apps`. - public var apps: [Components.Schemas.Integration]? - /// Creates a new `BypassPullRequestAllowancesPayload`. - /// - /// - Parameters: - /// - users: - /// - teams: - /// - apps: public init( - users: [Components.Schemas.SimpleUser], - teams: [Components.Schemas.Team], - apps: [Components.Schemas.Integration]? = nil + sha: Swift.String, + url: Swift.String ) { - self.users = users - self.teams = teams - self.apps = apps - } - public enum CodingKeys: String, CodingKey { - case users - case teams - case apps - } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances`. - public var bypassPullRequestAllowances: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.BypassPullRequestAllowancesPayload? - /// Creates a new `RequiredPullRequestReviewsPayload`. - /// - /// - Parameters: - /// - url: - /// - dismissStaleReviews: - /// - requireCodeOwnerReviews: - /// - requiredApprovingReviewCount: - /// - requireLastPushApproval: Whether the most recent push must be approved by someone other than the person who pushed it. - /// - dismissalRestrictions: - /// - bypassPullRequestAllowances: - public init( - url: Swift.String, - dismissStaleReviews: Swift.Bool? = nil, - requireCodeOwnerReviews: Swift.Bool? = nil, - requiredApprovingReviewCount: Swift.Int? = nil, - requireLastPushApproval: Swift.Bool? = nil, - dismissalRestrictions: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.DismissalRestrictionsPayload? = nil, - bypassPullRequestAllowances: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.BypassPullRequestAllowancesPayload? = nil - ) { - self.url = url - self.dismissStaleReviews = dismissStaleReviews - self.requireCodeOwnerReviews = requireCodeOwnerReviews - self.requiredApprovingReviewCount = requiredApprovingReviewCount - self.requireLastPushApproval = requireLastPushApproval - self.dismissalRestrictions = dismissalRestrictions - self.bypassPullRequestAllowances = bypassPullRequestAllowances - } - public enum CodingKeys: String, CodingKey { - case url - case dismissStaleReviews = "dismiss_stale_reviews" - case requireCodeOwnerReviews = "require_code_owner_reviews" - case requiredApprovingReviewCount = "required_approving_review_count" - case requireLastPushApproval = "require_last_push_approval" - case dismissalRestrictions = "dismissal_restrictions" - case bypassPullRequestAllowances = "bypass_pull_request_allowances" - } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews`. - public var requiredPullRequestReviews: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures`. - public struct RequiredSignaturesPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures/enabled`. - public var enabled: Swift.Bool - /// Creates a new `RequiredSignaturesPayload`. - /// - /// - Parameters: - /// - url: - /// - enabled: - public init( - url: Swift.String, - enabled: Swift.Bool - ) { - self.url = url - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case url - case enabled + self.sha = sha + self.url = url + } + public enum CodingKeys: String, CodingKey { + case sha + case url + } } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures`. - public var requiredSignatures: Components.Schemas.ProtectedBranch.RequiredSignaturesPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins`. - public struct EnforceAdminsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins/enabled`. - public var enabled: Swift.Bool - /// Creates a new `EnforceAdminsPayload`. + /// - Remark: Generated from `#/components/schemas/commit/commit/tree`. + public var tree: Components.Schemas.Commit.CommitPayload.TreePayload + /// - Remark: Generated from `#/components/schemas/commit/commit/verification`. + public var verification: Components.Schemas.Verification? + /// Creates a new `CommitPayload`. /// /// - Parameters: /// - url: - /// - enabled: + /// - author: + /// - committer: + /// - message: + /// - commentCount: + /// - tree: + /// - verification: public init( url: Swift.String, - enabled: Swift.Bool + author: Components.Schemas.NullableGitUser? = nil, + committer: Components.Schemas.NullableGitUser? = nil, + message: Swift.String, + commentCount: Swift.Int, + tree: Components.Schemas.Commit.CommitPayload.TreePayload, + verification: Components.Schemas.Verification? = nil ) { self.url = url - self.enabled = enabled + self.author = author + self.committer = committer + self.message = message + self.commentCount = commentCount + self.tree = tree + self.verification = verification } public enum CodingKeys: String, CodingKey { case url - case enabled - } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.url = try container.decode( - Swift.String.self, - forKey: .url - ) - self.enabled = try container.decode( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "url", - "enabled" - ]) + case author + case committer + case message + case commentCount = "comment_count" + case tree + case verification } } - /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins`. - public var enforceAdmins: Components.Schemas.ProtectedBranch.EnforceAdminsPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history`. - public struct RequiredLinearHistoryPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history/enabled`. - public var enabled: Swift.Bool - /// Creates a new `RequiredLinearHistoryPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + /// - Remark: Generated from `#/components/schemas/commit/commit`. + public var commit: Components.Schemas.Commit.CommitPayload + /// - Remark: Generated from `#/components/schemas/commit/author`. + @frozen public enum AuthorPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/author/case1`. + case SimpleUser(Components.Schemas.SimpleUser) + /// - Remark: Generated from `#/components/schemas/commit/author/case2`. + case EmptyObject(Components.Schemas.EmptyObject) public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decode( - Swift.Bool.self, - forKey: .enabled + var errors: [any Error] = [] + do { + self = .SimpleUser(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .EmptyObject(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) - } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history`. - public var requiredLinearHistory: Components.Schemas.ProtectedBranch.RequiredLinearHistoryPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes`. - public struct AllowForcePushesPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes/enabled`. - public var enabled: Swift.Bool - /// Creates a new `AllowForcePushesPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decode( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) + public func encode(to encoder: any Encoder) throws { + switch self { + case let .SimpleUser(value): + try value.encode(to: encoder) + case let .EmptyObject(value): + try value.encode(to: encoder) + } } } - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes`. - public var allowForcePushes: Components.Schemas.ProtectedBranch.AllowForcePushesPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions`. - public struct AllowDeletionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions/enabled`. - public var enabled: Swift.Bool - /// Creates a new `AllowDeletionsPayload`. - /// - /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool) { - self.enabled = enabled - } - public enum CodingKeys: String, CodingKey { - case enabled - } + /// - Remark: Generated from `#/components/schemas/commit/author`. + public var author: Components.Schemas.Commit.AuthorPayload? + /// - Remark: Generated from `#/components/schemas/commit/committer`. + @frozen public enum CommitterPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/committer/case1`. + case SimpleUser(Components.Schemas.SimpleUser) + /// - Remark: Generated from `#/components/schemas/commit/committer/case2`. + case EmptyObject(Components.Schemas.EmptyObject) public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decode( - Swift.Bool.self, - forKey: .enabled + var errors: [any Error] = [] + do { + self = .SimpleUser(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .EmptyObject(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .SimpleUser(value): + try value.encode(to: encoder) + case let .EmptyObject(value): + try value.encode(to: encoder) + } } } - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions`. - public var allowDeletions: Components.Schemas.ProtectedBranch.AllowDeletionsPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/restrictions`. - public var restrictions: Components.Schemas.BranchRestrictionPolicy? - /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution`. - public struct RequiredConversationResolutionPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `RequiredConversationResolutionPayload`. + /// - Remark: Generated from `#/components/schemas/commit/committer`. + public var committer: Components.Schemas.Commit.CommitterPayload? + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload`. + public struct ParentsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/commit/ParentsPayload/html_url`. + public var htmlUrl: Swift.String? + /// Creates a new `ParentsPayloadPayload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled + /// - sha: + /// - url: + /// - htmlUrl: + public init( + sha: Swift.String, + url: Swift.String, + htmlUrl: Swift.String? = nil + ) { + self.sha = sha + self.url = url + self.htmlUrl = htmlUrl } public enum CodingKeys: String, CodingKey { - case enabled - } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decodeIfPresent( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) - } - } - /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution`. - public var requiredConversationResolution: Components.Schemas.ProtectedBranch.RequiredConversationResolutionPayload? - /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations`. - public struct BlockCreationsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations/enabled`. - public var enabled: Swift.Bool - /// Creates a new `BlockCreationsPayload`. + case sha + case url + case htmlUrl = "html_url" + } + } + /// - Remark: Generated from `#/components/schemas/commit/parents`. + public typealias ParentsPayload = [Components.Schemas.Commit.ParentsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/commit/parents`. + public var parents: Components.Schemas.Commit.ParentsPayload + /// - Remark: Generated from `#/components/schemas/commit/stats`. + public struct StatsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit/stats/additions`. + public var additions: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit/stats/deletions`. + public var deletions: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit/stats/total`. + public var total: Swift.Int? + /// Creates a new `StatsPayload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool) { - self.enabled = enabled + /// - additions: + /// - deletions: + /// - total: + public init( + additions: Swift.Int? = nil, + deletions: Swift.Int? = nil, + total: Swift.Int? = nil + ) { + self.additions = additions + self.deletions = deletions + self.total = total } public enum CodingKeys: String, CodingKey { - case enabled - } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decode( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) + case additions + case deletions + case total } } - /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations`. - public var blockCreations: Components.Schemas.ProtectedBranch.BlockCreationsPayload? - /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// - Remark: Generated from `#/components/schemas/commit/stats`. + public var stats: Components.Schemas.Commit.StatsPayload? + /// - Remark: Generated from `#/components/schemas/commit/files`. + public var files: [Components.Schemas.DiffEntry]? + /// Creates a new `Commit`. /// - /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch`. - public struct LockBranchPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `LockBranchPayload`. + /// - Parameters: + /// - url: + /// - sha: + /// - nodeId: + /// - htmlUrl: + /// - commentsUrl: + /// - commit: + /// - author: + /// - committer: + /// - parents: + /// - stats: + /// - files: + public init( + url: Swift.String, + sha: Swift.String, + nodeId: Swift.String, + htmlUrl: Swift.String, + commentsUrl: Swift.String, + commit: Components.Schemas.Commit.CommitPayload, + author: Components.Schemas.Commit.AuthorPayload? = nil, + committer: Components.Schemas.Commit.CommitterPayload? = nil, + parents: Components.Schemas.Commit.ParentsPayload, + stats: Components.Schemas.Commit.StatsPayload? = nil, + files: [Components.Schemas.DiffEntry]? = nil + ) { + self.url = url + self.sha = sha + self.nodeId = nodeId + self.htmlUrl = htmlUrl + self.commentsUrl = commentsUrl + self.commit = commit + self.author = author + self.committer = committer + self.parents = parents + self.stats = stats + self.files = files + } + public enum CodingKeys: String, CodingKey { + case url + case sha + case nodeId = "node_id" + case htmlUrl = "html_url" + case commentsUrl = "comments_url" + case commit + case author + case committer + case parents + case stats + case files + } + } + /// Branch With Protection + /// + /// - Remark: Generated from `#/components/schemas/branch-with-protection`. + public struct BranchWithProtection: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-with-protection/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-with-protection/commit`. + public var commit: Components.Schemas.Commit + /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links`. + public struct _LinksPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links/html`. + public var html: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links/self`. + public var _self: Swift.String + /// Creates a new `_LinksPayload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled + /// - html: + /// - _self: + public init( + html: Swift.String, + _self: Swift.String + ) { + self.html = html + self._self = _self } public enum CodingKeys: String, CodingKey { - case enabled - } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decodeIfPresent( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) + case html + case _self = "self" } } - /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch`. - public var lockBranch: Components.Schemas.ProtectedBranch.LockBranchPayload? - /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// - Remark: Generated from `#/components/schemas/branch-with-protection/_links`. + public var _links: Components.Schemas.BranchWithProtection._LinksPayload + /// - Remark: Generated from `#/components/schemas/branch-with-protection/protected`. + public var protected: Swift.Bool + /// - Remark: Generated from `#/components/schemas/branch-with-protection/protection`. + public var protection: Components.Schemas.BranchProtection + /// - Remark: Generated from `#/components/schemas/branch-with-protection/protection_url`. + public var protectionUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-with-protection/pattern`. + public var pattern: Swift.String? + /// - Remark: Generated from `#/components/schemas/branch-with-protection/required_approving_review_count`. + public var requiredApprovingReviewCount: Swift.Int? + /// Creates a new `BranchWithProtection`. /// - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing`. - public struct AllowForkSyncingPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing/enabled`. - public var enabled: Swift.Bool? - /// Creates a new `AllowForkSyncingPayload`. + /// - Parameters: + /// - name: + /// - commit: + /// - _links: + /// - protected: + /// - protection: + /// - protectionUrl: + /// - pattern: + /// - requiredApprovingReviewCount: + public init( + name: Swift.String, + commit: Components.Schemas.Commit, + _links: Components.Schemas.BranchWithProtection._LinksPayload, + protected: Swift.Bool, + protection: Components.Schemas.BranchProtection, + protectionUrl: Swift.String, + pattern: Swift.String? = nil, + requiredApprovingReviewCount: Swift.Int? = nil + ) { + self.name = name + self.commit = commit + self._links = _links + self.protected = protected + self.protection = protection + self.protectionUrl = protectionUrl + self.pattern = pattern + self.requiredApprovingReviewCount = requiredApprovingReviewCount + } + public enum CodingKeys: String, CodingKey { + case name + case commit + case _links + case protected + case protection + case protectionUrl = "protection_url" + case pattern + case requiredApprovingReviewCount = "required_approving_review_count" + } + } + /// Status Check Policy + /// + /// - Remark: Generated from `#/components/schemas/status-check-policy`. + public struct StatusCheckPolicy: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/status-check-policy/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/status-check-policy/strict`. + public var strict: Swift.Bool + /// - Remark: Generated from `#/components/schemas/status-check-policy/contexts`. + public var contexts: [Swift.String] + /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload`. + public struct ChecksPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload/context`. + public var context: Swift.String + /// - Remark: Generated from `#/components/schemas/status-check-policy/ChecksPayload/app_id`. + public var appId: Swift.Int? + /// Creates a new `ChecksPayloadPayload`. /// /// - Parameters: - /// - enabled: - public init(enabled: Swift.Bool? = nil) { - self.enabled = enabled + /// - context: + /// - appId: + public init( + context: Swift.String, + appId: Swift.Int? = nil + ) { + self.context = context + self.appId = appId } public enum CodingKeys: String, CodingKey { - case enabled - } - public init(from decoder: any Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - self.enabled = try container.decodeIfPresent( - Swift.Bool.self, - forKey: .enabled - ) - try decoder.ensureNoAdditionalProperties(knownKeys: [ - "enabled" - ]) + case context + case appId = "app_id" } } - /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. - /// - /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing`. - public var allowForkSyncing: Components.Schemas.ProtectedBranch.AllowForkSyncingPayload? - /// Creates a new `ProtectedBranch`. + /// - Remark: Generated from `#/components/schemas/status-check-policy/checks`. + public typealias ChecksPayload = [Components.Schemas.StatusCheckPolicy.ChecksPayloadPayload] + /// - Remark: Generated from `#/components/schemas/status-check-policy/checks`. + public var checks: Components.Schemas.StatusCheckPolicy.ChecksPayload + /// - Remark: Generated from `#/components/schemas/status-check-policy/contexts_url`. + public var contextsUrl: Swift.String + /// Creates a new `StatusCheckPolicy`. /// /// - Parameters: /// - url: - /// - requiredStatusChecks: - /// - requiredPullRequestReviews: - /// - requiredSignatures: - /// - enforceAdmins: - /// - requiredLinearHistory: - /// - allowForcePushes: - /// - allowDeletions: - /// - restrictions: - /// - requiredConversationResolution: - /// - blockCreations: - /// - lockBranch: Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. - /// - allowForkSyncing: Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// - strict: + /// - contexts: + /// - checks: + /// - contextsUrl: public init( url: Swift.String, - requiredStatusChecks: Components.Schemas.StatusCheckPolicy? = nil, - requiredPullRequestReviews: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload? = nil, - requiredSignatures: Components.Schemas.ProtectedBranch.RequiredSignaturesPayload? = nil, - enforceAdmins: Components.Schemas.ProtectedBranch.EnforceAdminsPayload? = nil, - requiredLinearHistory: Components.Schemas.ProtectedBranch.RequiredLinearHistoryPayload? = nil, - allowForcePushes: Components.Schemas.ProtectedBranch.AllowForcePushesPayload? = nil, - allowDeletions: Components.Schemas.ProtectedBranch.AllowDeletionsPayload? = nil, - restrictions: Components.Schemas.BranchRestrictionPolicy? = nil, - requiredConversationResolution: Components.Schemas.ProtectedBranch.RequiredConversationResolutionPayload? = nil, - blockCreations: Components.Schemas.ProtectedBranch.BlockCreationsPayload? = nil, - lockBranch: Components.Schemas.ProtectedBranch.LockBranchPayload? = nil, - allowForkSyncing: Components.Schemas.ProtectedBranch.AllowForkSyncingPayload? = nil + strict: Swift.Bool, + contexts: [Swift.String], + checks: Components.Schemas.StatusCheckPolicy.ChecksPayload, + contextsUrl: Swift.String ) { self.url = url - self.requiredStatusChecks = requiredStatusChecks - self.requiredPullRequestReviews = requiredPullRequestReviews - self.requiredSignatures = requiredSignatures - self.enforceAdmins = enforceAdmins - self.requiredLinearHistory = requiredLinearHistory - self.allowForcePushes = allowForcePushes - self.allowDeletions = allowDeletions - self.restrictions = restrictions - self.requiredConversationResolution = requiredConversationResolution - self.blockCreations = blockCreations - self.lockBranch = lockBranch - self.allowForkSyncing = allowForkSyncing + self.strict = strict + self.contexts = contexts + self.checks = checks + self.contextsUrl = contextsUrl } public enum CodingKeys: String, CodingKey { case url - case requiredStatusChecks = "required_status_checks" - case requiredPullRequestReviews = "required_pull_request_reviews" - case requiredSignatures = "required_signatures" - case enforceAdmins = "enforce_admins" - case requiredLinearHistory = "required_linear_history" - case allowForcePushes = "allow_force_pushes" - case allowDeletions = "allow_deletions" - case restrictions - case requiredConversationResolution = "required_conversation_resolution" - case blockCreations = "block_creations" - case lockBranch = "lock_branch" - case allowForkSyncing = "allow_fork_syncing" + case strict + case contexts + case checks + case contextsUrl = "contexts_url" } } - /// A list of errors found in a repo's CODEOWNERS file + /// Branch protections protect branches /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors`. - public struct CodeownersErrors: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload`. - public struct ErrorsPayloadPayload: Codable, Hashable, Sendable { - /// The line number where this errors occurs. - /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/line`. - public var line: Swift.Int - /// The column number where this errors occurs. - /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/column`. - public var column: Swift.Int - /// The contents of the line where the error occurs. - /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/source`. - public var source: Swift.String? - /// The type of error. - /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/kind`. - public var kind: Swift.String - /// Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. - /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/suggestion`. - public var suggestion: Swift.String? - /// A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + /// - Remark: Generated from `#/components/schemas/protected-branch`. + public struct ProtectedBranch: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_status_checks`. + public var requiredStatusChecks: Components.Schemas.StatusCheckPolicy? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews`. + public struct RequiredPullRequestReviewsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismiss_stale_reviews`. + public var dismissStaleReviews: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/require_code_owner_reviews`. + public var requireCodeOwnerReviews: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/required_approving_review_count`. + public var requiredApprovingReviewCount: Swift.Int? + /// Whether the most recent push must be approved by someone other than the person who pushed it. /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/message`. - public var message: Swift.String - /// The path of the file where the error occured. + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/require_last_push_approval`. + public var requireLastPushApproval: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions`. + public struct DismissalRestrictionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/users_url`. + public var usersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/teams_url`. + public var teamsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/users`. + public var users: [Components.Schemas.SimpleUser] + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/teams`. + public var teams: [Components.Schemas.Team] + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions/apps`. + public var apps: [Components.Schemas.Integration]? + /// Creates a new `DismissalRestrictionsPayload`. + /// + /// - Parameters: + /// - url: + /// - usersUrl: + /// - teamsUrl: + /// - users: + /// - teams: + /// - apps: + public init( + url: Swift.String, + usersUrl: Swift.String, + teamsUrl: Swift.String, + users: [Components.Schemas.SimpleUser], + teams: [Components.Schemas.Team], + apps: [Components.Schemas.Integration]? = nil + ) { + self.url = url + self.usersUrl = usersUrl + self.teamsUrl = teamsUrl + self.users = users + self.teams = teams + self.apps = apps + } + public enum CodingKeys: String, CodingKey { + case url + case usersUrl = "users_url" + case teamsUrl = "teams_url" + case users + case teams + case apps + } + } + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/dismissal_restrictions`. + public var dismissalRestrictions: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.DismissalRestrictionsPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances`. + public struct BypassPullRequestAllowancesPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/users`. + public var users: [Components.Schemas.SimpleUser] + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/teams`. + public var teams: [Components.Schemas.Team] + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances/apps`. + public var apps: [Components.Schemas.Integration]? + /// Creates a new `BypassPullRequestAllowancesPayload`. + /// + /// - Parameters: + /// - users: + /// - teams: + /// - apps: + public init( + users: [Components.Schemas.SimpleUser], + teams: [Components.Schemas.Team], + apps: [Components.Schemas.Integration]? = nil + ) { + self.users = users + self.teams = teams + self.apps = apps + } + public enum CodingKeys: String, CodingKey { + case users + case teams + case apps + } + } + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews/bypass_pull_request_allowances`. + public var bypassPullRequestAllowances: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.BypassPullRequestAllowancesPayload? + /// Creates a new `RequiredPullRequestReviewsPayload`. /// - /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/path`. - public var path: Swift.String - /// Creates a new `ErrorsPayloadPayload`. + /// - Parameters: + /// - url: + /// - dismissStaleReviews: + /// - requireCodeOwnerReviews: + /// - requiredApprovingReviewCount: + /// - requireLastPushApproval: Whether the most recent push must be approved by someone other than the person who pushed it. + /// - dismissalRestrictions: + /// - bypassPullRequestAllowances: + public init( + url: Swift.String, + dismissStaleReviews: Swift.Bool? = nil, + requireCodeOwnerReviews: Swift.Bool? = nil, + requiredApprovingReviewCount: Swift.Int? = nil, + requireLastPushApproval: Swift.Bool? = nil, + dismissalRestrictions: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.DismissalRestrictionsPayload? = nil, + bypassPullRequestAllowances: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload.BypassPullRequestAllowancesPayload? = nil + ) { + self.url = url + self.dismissStaleReviews = dismissStaleReviews + self.requireCodeOwnerReviews = requireCodeOwnerReviews + self.requiredApprovingReviewCount = requiredApprovingReviewCount + self.requireLastPushApproval = requireLastPushApproval + self.dismissalRestrictions = dismissalRestrictions + self.bypassPullRequestAllowances = bypassPullRequestAllowances + } + public enum CodingKeys: String, CodingKey { + case url + case dismissStaleReviews = "dismiss_stale_reviews" + case requireCodeOwnerReviews = "require_code_owner_reviews" + case requiredApprovingReviewCount = "required_approving_review_count" + case requireLastPushApproval = "require_last_push_approval" + case dismissalRestrictions = "dismissal_restrictions" + case bypassPullRequestAllowances = "bypass_pull_request_allowances" + } + } + /// - Remark: Generated from `#/components/schemas/protected-branch/required_pull_request_reviews`. + public var requiredPullRequestReviews: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures`. + public struct RequiredSignaturesPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures/enabled`. + public var enabled: Swift.Bool + /// Creates a new `RequiredSignaturesPayload`. /// /// - Parameters: - /// - line: The line number where this errors occurs. - /// - column: The column number where this errors occurs. - /// - source: The contents of the line where the error occurs. - /// - kind: The type of error. - /// - suggestion: Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. - /// - message: A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). - /// - path: The path of the file where the error occured. + /// - url: + /// - enabled: public init( - line: Swift.Int, - column: Swift.Int, - source: Swift.String? = nil, - kind: Swift.String, - suggestion: Swift.String? = nil, - message: Swift.String, - path: Swift.String + url: Swift.String, + enabled: Swift.Bool ) { - self.line = line - self.column = column - self.source = source - self.kind = kind - self.suggestion = suggestion - self.message = message - self.path = path + self.url = url + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case line - case column - case source - case kind - case suggestion - case message - case path + case url + case enabled } } - /// - Remark: Generated from `#/components/schemas/codeowners-errors/errors`. - public typealias ErrorsPayload = [Components.Schemas.CodeownersErrors.ErrorsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/codeowners-errors/errors`. - public var errors: Components.Schemas.CodeownersErrors.ErrorsPayload - /// Creates a new `CodeownersErrors`. - /// - /// - Parameters: - /// - errors: - public init(errors: Components.Schemas.CodeownersErrors.ErrorsPayload) { - self.errors = errors - } - public enum CodingKeys: String, CodingKey { - case errors - } - } - /// Collaborator - /// - /// - Remark: Generated from `#/components/schemas/collaborator`. - public struct Collaborator: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/collaborator/login`. - public var login: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/collaborator/email`. - public var email: Swift.String? - /// - Remark: Generated from `#/components/schemas/collaborator/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/collaborator/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/avatar_url`. - public var avatarUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/gravatar_id`. - public var gravatarId: Swift.String? - /// - Remark: Generated from `#/components/schemas/collaborator/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/followers_url`. - public var followersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/following_url`. - public var followingUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/gists_url`. - public var gistsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/starred_url`. - public var starredUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/subscriptions_url`. - public var subscriptionsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/organizations_url`. - public var organizationsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/repos_url`. - public var reposUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/events_url`. - public var eventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/received_events_url`. - public var receivedEventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/type`. - public var _type: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/site_admin`. - public var siteAdmin: Swift.Bool - /// - Remark: Generated from `#/components/schemas/collaborator/permissions`. - public struct PermissionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/collaborator/permissions/pull`. - public var pull: Swift.Bool - /// - Remark: Generated from `#/components/schemas/collaborator/permissions/triage`. - public var triage: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/collaborator/permissions/push`. - public var push: Swift.Bool - /// - Remark: Generated from `#/components/schemas/collaborator/permissions/maintain`. - public var maintain: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/collaborator/permissions/admin`. - public var admin: Swift.Bool - /// Creates a new `PermissionsPayload`. + /// - Remark: Generated from `#/components/schemas/protected-branch/required_signatures`. + public var requiredSignatures: Components.Schemas.ProtectedBranch.RequiredSignaturesPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins`. + public struct EnforceAdminsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins/enabled`. + public var enabled: Swift.Bool + /// Creates a new `EnforceAdminsPayload`. /// /// - Parameters: - /// - pull: - /// - triage: - /// - push: - /// - maintain: - /// - admin: + /// - url: + /// - enabled: public init( - pull: Swift.Bool, - triage: Swift.Bool? = nil, - push: Swift.Bool, - maintain: Swift.Bool? = nil, - admin: Swift.Bool + url: Swift.String, + enabled: Swift.Bool ) { - self.pull = pull - self.triage = triage - self.push = push - self.maintain = maintain - self.admin = admin + self.url = url + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case pull - case triage - case push - case maintain - case admin + case url + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.url = try container.decode( + Swift.String.self, + forKey: .url + ) + self.enabled = try container.decode( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "url", + "enabled" + ]) } } - /// - Remark: Generated from `#/components/schemas/collaborator/permissions`. - public var permissions: Components.Schemas.Collaborator.PermissionsPayload? - /// - Remark: Generated from `#/components/schemas/collaborator/role_name`. - public var roleName: Swift.String - /// - Remark: Generated from `#/components/schemas/collaborator/user_view_type`. - public var userViewType: Swift.String? - /// Creates a new `Collaborator`. - /// - /// - Parameters: - /// - login: - /// - id: - /// - email: - /// - name: - /// - nodeId: - /// - avatarUrl: - /// - gravatarId: - /// - url: - /// - htmlUrl: - /// - followersUrl: - /// - followingUrl: - /// - gistsUrl: - /// - starredUrl: - /// - subscriptionsUrl: - /// - organizationsUrl: - /// - reposUrl: - /// - eventsUrl: - /// - receivedEventsUrl: - /// - _type: - /// - siteAdmin: - /// - permissions: - /// - roleName: - /// - userViewType: - public init( - login: Swift.String, - id: Swift.Int64, - email: Swift.String? = nil, - name: Swift.String? = nil, - nodeId: Swift.String, - avatarUrl: Swift.String, - gravatarId: Swift.String? = nil, - url: Swift.String, - htmlUrl: Swift.String, - followersUrl: Swift.String, - followingUrl: Swift.String, - gistsUrl: Swift.String, - starredUrl: Swift.String, - subscriptionsUrl: Swift.String, - organizationsUrl: Swift.String, - reposUrl: Swift.String, - eventsUrl: Swift.String, - receivedEventsUrl: Swift.String, - _type: Swift.String, - siteAdmin: Swift.Bool, - permissions: Components.Schemas.Collaborator.PermissionsPayload? = nil, - roleName: Swift.String, - userViewType: Swift.String? = nil - ) { - self.login = login - self.id = id - self.email = email - self.name = name - self.nodeId = nodeId - self.avatarUrl = avatarUrl - self.gravatarId = gravatarId - self.url = url - self.htmlUrl = htmlUrl - self.followersUrl = followersUrl - self.followingUrl = followingUrl - self.gistsUrl = gistsUrl - self.starredUrl = starredUrl - self.subscriptionsUrl = subscriptionsUrl - self.organizationsUrl = organizationsUrl - self.reposUrl = reposUrl - self.eventsUrl = eventsUrl - self.receivedEventsUrl = receivedEventsUrl - self._type = _type - self.siteAdmin = siteAdmin - self.permissions = permissions - self.roleName = roleName - self.userViewType = userViewType - } - public enum CodingKeys: String, CodingKey { - case login - case id - case email - case name - case nodeId = "node_id" - case avatarUrl = "avatar_url" - case gravatarId = "gravatar_id" - case url - case htmlUrl = "html_url" - case followersUrl = "followers_url" - case followingUrl = "following_url" - case gistsUrl = "gists_url" - case starredUrl = "starred_url" - case subscriptionsUrl = "subscriptions_url" - case organizationsUrl = "organizations_url" - case reposUrl = "repos_url" - case eventsUrl = "events_url" - case receivedEventsUrl = "received_events_url" - case _type = "type" - case siteAdmin = "site_admin" - case permissions - case roleName = "role_name" - case userViewType = "user_view_type" - } - } - /// Repository invitations let you manage who you collaborate with. - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation`. - public struct RepositoryInvitation: Codable, Hashable, Sendable { - /// Unique identifier of the repository invitation. - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/repository-invitation/repository`. - public var repository: Components.Schemas.MinimalRepository - /// - Remark: Generated from `#/components/schemas/repository-invitation/invitee`. - public var invitee: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/repository-invitation/inviter`. - public var inviter: Components.Schemas.NullableSimpleUser? - /// The permission associated with the invitation. - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation/permissions`. - @frozen public enum PermissionsPayload: String, Codable, Hashable, Sendable, CaseIterable { - case read = "read" - case write = "write" - case admin = "admin" - case triage = "triage" - case maintain = "maintain" + /// - Remark: Generated from `#/components/schemas/protected-branch/enforce_admins`. + public var enforceAdmins: Components.Schemas.ProtectedBranch.EnforceAdminsPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history`. + public struct RequiredLinearHistoryPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history/enabled`. + public var enabled: Swift.Bool + /// Creates a new `RequiredLinearHistoryPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decode( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) + } } - /// The permission associated with the invitation. - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation/permissions`. - public var permissions: Components.Schemas.RepositoryInvitation.PermissionsPayload - /// - Remark: Generated from `#/components/schemas/repository-invitation/created_at`. - public var createdAt: Foundation.Date - /// Whether or not the invitation has expired - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation/expired`. - public var expired: Swift.Bool? - /// URL for the repository invitation - /// - /// - Remark: Generated from `#/components/schemas/repository-invitation/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/repository-invitation/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/repository-invitation/node_id`. - public var nodeId: Swift.String - /// Creates a new `RepositoryInvitation`. - /// - /// - Parameters: - /// - id: Unique identifier of the repository invitation. - /// - repository: - /// - invitee: - /// - inviter: - /// - permissions: The permission associated with the invitation. - /// - createdAt: - /// - expired: Whether or not the invitation has expired - /// - url: URL for the repository invitation - /// - htmlUrl: - /// - nodeId: - public init( - id: Swift.Int64, - repository: Components.Schemas.MinimalRepository, - invitee: Components.Schemas.NullableSimpleUser? = nil, - inviter: Components.Schemas.NullableSimpleUser? = nil, - permissions: Components.Schemas.RepositoryInvitation.PermissionsPayload, - createdAt: Foundation.Date, - expired: Swift.Bool? = nil, - url: Swift.String, - htmlUrl: Swift.String, - nodeId: Swift.String - ) { - self.id = id - self.repository = repository - self.invitee = invitee - self.inviter = inviter - self.permissions = permissions - self.createdAt = createdAt - self.expired = expired - self.url = url - self.htmlUrl = htmlUrl - self.nodeId = nodeId + /// - Remark: Generated from `#/components/schemas/protected-branch/required_linear_history`. + public var requiredLinearHistory: Components.Schemas.ProtectedBranch.RequiredLinearHistoryPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes`. + public struct AllowForcePushesPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes/enabled`. + public var enabled: Swift.Bool + /// Creates a new `AllowForcePushesPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decode( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) + } } - public enum CodingKeys: String, CodingKey { - case id - case repository - case invitee - case inviter - case permissions - case createdAt = "created_at" - case expired - case url - case htmlUrl = "html_url" - case nodeId = "node_id" + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_force_pushes`. + public var allowForcePushes: Components.Schemas.ProtectedBranch.AllowForcePushesPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions`. + public struct AllowDeletionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions/enabled`. + public var enabled: Swift.Bool + /// Creates a new `AllowDeletionsPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decode( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) + } } - } - /// Collaborator - /// - /// - Remark: Generated from `#/components/schemas/nullable-collaborator`. - public struct NullableCollaborator: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/login`. - public var login: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/email`. - public var email: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/name`. - public var name: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/avatar_url`. - public var avatarUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/gravatar_id`. - public var gravatarId: Swift.String? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/followers_url`. - public var followersUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/following_url`. - public var followingUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/gists_url`. - public var gistsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/starred_url`. - public var starredUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/subscriptions_url`. - public var subscriptionsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/organizations_url`. - public var organizationsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/repos_url`. - public var reposUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/events_url`. - public var eventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/received_events_url`. - public var receivedEventsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/type`. - public var _type: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/site_admin`. - public var siteAdmin: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions`. - public struct PermissionsPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/pull`. - public var pull: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/triage`. - public var triage: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/push`. - public var push: Swift.Bool - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/maintain`. - public var maintain: Swift.Bool? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/admin`. - public var admin: Swift.Bool - /// Creates a new `PermissionsPayload`. + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_deletions`. + public var allowDeletions: Components.Schemas.ProtectedBranch.AllowDeletionsPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/restrictions`. + public var restrictions: Components.Schemas.BranchRestrictionPolicy? + /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution`. + public struct RequiredConversationResolutionPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `RequiredConversationResolutionPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decodeIfPresent( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) + } + } + /// - Remark: Generated from `#/components/schemas/protected-branch/required_conversation_resolution`. + public var requiredConversationResolution: Components.Schemas.ProtectedBranch.RequiredConversationResolutionPayload? + /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations`. + public struct BlockCreationsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations/enabled`. + public var enabled: Swift.Bool + /// Creates a new `BlockCreationsPayload`. /// /// - Parameters: - /// - pull: - /// - triage: - /// - push: - /// - maintain: - /// - admin: - public init( - pull: Swift.Bool, - triage: Swift.Bool? = nil, - push: Swift.Bool, - maintain: Swift.Bool? = nil, - admin: Swift.Bool - ) { - self.pull = pull - self.triage = triage - self.push = push - self.maintain = maintain - self.admin = admin + /// - enabled: + public init(enabled: Swift.Bool) { + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case pull - case triage - case push - case maintain - case admin + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decode( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) } } - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions`. - public var permissions: Components.Schemas.NullableCollaborator.PermissionsPayload? - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/role_name`. - public var roleName: Swift.String - /// - Remark: Generated from `#/components/schemas/nullable-collaborator/user_view_type`. - public var userViewType: Swift.String? - /// Creates a new `NullableCollaborator`. - /// - /// - Parameters: - /// - login: - /// - id: - /// - email: - /// - name: - /// - nodeId: - /// - avatarUrl: - /// - gravatarId: - /// - url: - /// - htmlUrl: - /// - followersUrl: - /// - followingUrl: - /// - gistsUrl: - /// - starredUrl: - /// - subscriptionsUrl: - /// - organizationsUrl: - /// - reposUrl: - /// - eventsUrl: - /// - receivedEventsUrl: - /// - _type: - /// - siteAdmin: - /// - permissions: - /// - roleName: - /// - userViewType: - public init( - login: Swift.String, - id: Swift.Int64, - email: Swift.String? = nil, - name: Swift.String? = nil, - nodeId: Swift.String, - avatarUrl: Swift.String, - gravatarId: Swift.String? = nil, - url: Swift.String, - htmlUrl: Swift.String, - followersUrl: Swift.String, - followingUrl: Swift.String, - gistsUrl: Swift.String, - starredUrl: Swift.String, - subscriptionsUrl: Swift.String, - organizationsUrl: Swift.String, - reposUrl: Swift.String, - eventsUrl: Swift.String, - receivedEventsUrl: Swift.String, - _type: Swift.String, - siteAdmin: Swift.Bool, - permissions: Components.Schemas.NullableCollaborator.PermissionsPayload? = nil, - roleName: Swift.String, - userViewType: Swift.String? = nil - ) { - self.login = login - self.id = id - self.email = email - self.name = name - self.nodeId = nodeId - self.avatarUrl = avatarUrl - self.gravatarId = gravatarId - self.url = url - self.htmlUrl = htmlUrl - self.followersUrl = followersUrl - self.followingUrl = followingUrl - self.gistsUrl = gistsUrl - self.starredUrl = starredUrl - self.subscriptionsUrl = subscriptionsUrl - self.organizationsUrl = organizationsUrl - self.reposUrl = reposUrl - self.eventsUrl = eventsUrl - self.receivedEventsUrl = receivedEventsUrl - self._type = _type - self.siteAdmin = siteAdmin - self.permissions = permissions - self.roleName = roleName - self.userViewType = userViewType - } - public enum CodingKeys: String, CodingKey { - case login - case id - case email - case name - case nodeId = "node_id" - case avatarUrl = "avatar_url" - case gravatarId = "gravatar_id" - case url - case htmlUrl = "html_url" - case followersUrl = "followers_url" - case followingUrl = "following_url" - case gistsUrl = "gists_url" - case starredUrl = "starred_url" - case subscriptionsUrl = "subscriptions_url" - case organizationsUrl = "organizations_url" - case reposUrl = "repos_url" - case eventsUrl = "events_url" - case receivedEventsUrl = "received_events_url" - case _type = "type" - case siteAdmin = "site_admin" - case permissions - case roleName = "role_name" - case userViewType = "user_view_type" - } - } - /// Repository Collaborator Permission - /// - /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission`. - public struct RepositoryCollaboratorPermission: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/permission`. - public var permission: Swift.String - /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/role_name`. - public var roleName: Swift.String - /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/user`. - public var user: Components.Schemas.NullableCollaborator? - /// Creates a new `RepositoryCollaboratorPermission`. - /// - /// - Parameters: - /// - permission: - /// - roleName: - /// - user: - public init( - permission: Swift.String, - roleName: Swift.String, - user: Components.Schemas.NullableCollaborator? = nil - ) { - self.permission = permission - self.roleName = roleName - self.user = user - } - public enum CodingKeys: String, CodingKey { - case permission - case roleName = "role_name" - case user - } - } - /// Commit Comment - /// - /// - Remark: Generated from `#/components/schemas/commit-comment`. - public struct CommitComment: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/commit-comment/html_url`. - public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/commit-comment/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/commit-comment/id`. - public var id: Swift.Int - /// - Remark: Generated from `#/components/schemas/commit-comment/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/commit-comment/body`. - public var body: Swift.String - /// - Remark: Generated from `#/components/schemas/commit-comment/path`. - public var path: Swift.String? - /// - Remark: Generated from `#/components/schemas/commit-comment/position`. - public var position: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit-comment/line`. - public var line: Swift.Int? - /// - Remark: Generated from `#/components/schemas/commit-comment/commit_id`. - public var commitId: Swift.String - /// - Remark: Generated from `#/components/schemas/commit-comment/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/commit-comment/created_at`. - public var createdAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/commit-comment/updated_at`. - public var updatedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/commit-comment/author_association`. - public var authorAssociation: Components.Schemas.AuthorAssociation - /// - Remark: Generated from `#/components/schemas/commit-comment/reactions`. - public var reactions: Components.Schemas.ReactionRollup? - /// Creates a new `CommitComment`. - /// - /// - Parameters: - /// - htmlUrl: - /// - url: - /// - id: - /// - nodeId: - /// - body: - /// - path: - /// - position: - /// - line: - /// - commitId: - /// - user: - /// - createdAt: - /// - updatedAt: - /// - authorAssociation: - /// - reactions: - public init( - htmlUrl: Swift.String, - url: Swift.String, - id: Swift.Int, - nodeId: Swift.String, - body: Swift.String, - path: Swift.String? = nil, - position: Swift.Int? = nil, - line: Swift.Int? = nil, - commitId: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil, - createdAt: Foundation.Date, - updatedAt: Foundation.Date, - authorAssociation: Components.Schemas.AuthorAssociation, - reactions: Components.Schemas.ReactionRollup? = nil - ) { - self.htmlUrl = htmlUrl - self.url = url - self.id = id - self.nodeId = nodeId - self.body = body - self.path = path - self.position = position - self.line = line - self.commitId = commitId - self.user = user - self.createdAt = createdAt - self.updatedAt = updatedAt - self.authorAssociation = authorAssociation - self.reactions = reactions - } - public enum CodingKeys: String, CodingKey { - case htmlUrl = "html_url" - case url - case id - case nodeId = "node_id" - case body - case path - case position - case line - case commitId = "commit_id" - case user - case createdAt = "created_at" - case updatedAt = "updated_at" - case authorAssociation = "author_association" - case reactions + /// - Remark: Generated from `#/components/schemas/protected-branch/block_creations`. + public var blockCreations: Components.Schemas.ProtectedBranch.BlockCreationsPayload? + /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch`. + public struct LockBranchPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `LockBranchPayload`. + /// + /// - Parameters: + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled + } + public enum CodingKeys: String, CodingKey { + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decodeIfPresent( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) + } } - } - /// Branch Short - /// - /// - Remark: Generated from `#/components/schemas/branch-short`. - public struct BranchShort: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-short/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-short/commit`. - public struct CommitPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/branch-short/commit/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/branch-short/commit/url`. - public var url: Swift.String - /// Creates a new `CommitPayload`. + /// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch/lock_branch`. + public var lockBranch: Components.Schemas.ProtectedBranch.LockBranchPayload? + /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing`. + public struct AllowForkSyncingPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing/enabled`. + public var enabled: Swift.Bool? + /// Creates a new `AllowForkSyncingPayload`. /// /// - Parameters: - /// - sha: - /// - url: - public init( - sha: Swift.String, - url: Swift.String - ) { - self.sha = sha - self.url = url + /// - enabled: + public init(enabled: Swift.Bool? = nil) { + self.enabled = enabled } public enum CodingKeys: String, CodingKey { - case sha - case url + case enabled + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.enabled = try container.decodeIfPresent( + Swift.Bool.self, + forKey: .enabled + ) + try decoder.ensureNoAdditionalProperties(knownKeys: [ + "enabled" + ]) } } - /// - Remark: Generated from `#/components/schemas/branch-short/commit`. - public var commit: Components.Schemas.BranchShort.CommitPayload - /// - Remark: Generated from `#/components/schemas/branch-short/protected`. - public var protected: Swift.Bool - /// Creates a new `BranchShort`. + /// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. + /// + /// - Remark: Generated from `#/components/schemas/protected-branch/allow_fork_syncing`. + public var allowForkSyncing: Components.Schemas.ProtectedBranch.AllowForkSyncingPayload? + /// Creates a new `ProtectedBranch`. /// /// - Parameters: - /// - name: - /// - commit: - /// - protected: + /// - url: + /// - requiredStatusChecks: + /// - requiredPullRequestReviews: + /// - requiredSignatures: + /// - enforceAdmins: + /// - requiredLinearHistory: + /// - allowForcePushes: + /// - allowDeletions: + /// - restrictions: + /// - requiredConversationResolution: + /// - blockCreations: + /// - lockBranch: Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + /// - allowForkSyncing: Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. public init( - name: Swift.String, - commit: Components.Schemas.BranchShort.CommitPayload, - protected: Swift.Bool + url: Swift.String, + requiredStatusChecks: Components.Schemas.StatusCheckPolicy? = nil, + requiredPullRequestReviews: Components.Schemas.ProtectedBranch.RequiredPullRequestReviewsPayload? = nil, + requiredSignatures: Components.Schemas.ProtectedBranch.RequiredSignaturesPayload? = nil, + enforceAdmins: Components.Schemas.ProtectedBranch.EnforceAdminsPayload? = nil, + requiredLinearHistory: Components.Schemas.ProtectedBranch.RequiredLinearHistoryPayload? = nil, + allowForcePushes: Components.Schemas.ProtectedBranch.AllowForcePushesPayload? = nil, + allowDeletions: Components.Schemas.ProtectedBranch.AllowDeletionsPayload? = nil, + restrictions: Components.Schemas.BranchRestrictionPolicy? = nil, + requiredConversationResolution: Components.Schemas.ProtectedBranch.RequiredConversationResolutionPayload? = nil, + blockCreations: Components.Schemas.ProtectedBranch.BlockCreationsPayload? = nil, + lockBranch: Components.Schemas.ProtectedBranch.LockBranchPayload? = nil, + allowForkSyncing: Components.Schemas.ProtectedBranch.AllowForkSyncingPayload? = nil ) { - self.name = name - self.commit = commit - self.protected = protected - } - public enum CodingKeys: String, CodingKey { - case name - case commit - case protected - } - } - /// Hypermedia Link - /// - /// - Remark: Generated from `#/components/schemas/link`. - public struct Link: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/link/href`. - public var href: Swift.String - /// Creates a new `Link`. - /// - /// - Parameters: - /// - href: - public init(href: Swift.String) { - self.href = href + self.url = url + self.requiredStatusChecks = requiredStatusChecks + self.requiredPullRequestReviews = requiredPullRequestReviews + self.requiredSignatures = requiredSignatures + self.enforceAdmins = enforceAdmins + self.requiredLinearHistory = requiredLinearHistory + self.allowForcePushes = allowForcePushes + self.allowDeletions = allowDeletions + self.restrictions = restrictions + self.requiredConversationResolution = requiredConversationResolution + self.blockCreations = blockCreations + self.lockBranch = lockBranch + self.allowForkSyncing = allowForkSyncing } public enum CodingKeys: String, CodingKey { - case href + case url + case requiredStatusChecks = "required_status_checks" + case requiredPullRequestReviews = "required_pull_request_reviews" + case requiredSignatures = "required_signatures" + case enforceAdmins = "enforce_admins" + case requiredLinearHistory = "required_linear_history" + case allowForcePushes = "allow_force_pushes" + case allowDeletions = "allow_deletions" + case restrictions + case requiredConversationResolution = "required_conversation_resolution" + case blockCreations = "block_creations" + case lockBranch = "lock_branch" + case allowForkSyncing = "allow_fork_syncing" } } - /// The status of auto merging a pull request. + /// A list of errors found in a repo's CODEOWNERS file /// - /// - Remark: Generated from `#/components/schemas/auto-merge`. - public struct AutoMerge: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/auto-merge/enabled_by`. - public var enabledBy: Components.Schemas.SimpleUser - /// The merge method to use. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. - @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { - case merge = "merge" - case squash = "squash" - case rebase = "rebase" + /// - Remark: Generated from `#/components/schemas/codeowners-errors`. + public struct CodeownersErrors: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload`. + public struct ErrorsPayloadPayload: Codable, Hashable, Sendable { + /// The line number where this errors occurs. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/line`. + public var line: Swift.Int + /// The column number where this errors occurs. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/column`. + public var column: Swift.Int + /// The contents of the line where the error occurs. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/source`. + public var source: Swift.String? + /// The type of error. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/kind`. + public var kind: Swift.String + /// Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/suggestion`. + public var suggestion: Swift.String? + /// A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/message`. + public var message: Swift.String + /// The path of the file where the error occured. + /// + /// - Remark: Generated from `#/components/schemas/codeowners-errors/ErrorsPayload/path`. + public var path: Swift.String + /// Creates a new `ErrorsPayloadPayload`. + /// + /// - Parameters: + /// - line: The line number where this errors occurs. + /// - column: The column number where this errors occurs. + /// - source: The contents of the line where the error occurs. + /// - kind: The type of error. + /// - suggestion: Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + /// - message: A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + /// - path: The path of the file where the error occured. + public init( + line: Swift.Int, + column: Swift.Int, + source: Swift.String? = nil, + kind: Swift.String, + suggestion: Swift.String? = nil, + message: Swift.String, + path: Swift.String + ) { + self.line = line + self.column = column + self.source = source + self.kind = kind + self.suggestion = suggestion + self.message = message + self.path = path + } + public enum CodingKeys: String, CodingKey { + case line + case column + case source + case kind + case suggestion + case message + case path + } } - /// The merge method to use. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. - public var mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload - /// Title for the merge commit message. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/commit_title`. - public var commitTitle: Swift.String - /// Commit message for the merge commit. - /// - /// - Remark: Generated from `#/components/schemas/auto-merge/commit_message`. - public var commitMessage: Swift.String - /// Creates a new `AutoMerge`. + /// - Remark: Generated from `#/components/schemas/codeowners-errors/errors`. + public typealias ErrorsPayload = [Components.Schemas.CodeownersErrors.ErrorsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/codeowners-errors/errors`. + public var errors: Components.Schemas.CodeownersErrors.ErrorsPayload + /// Creates a new `CodeownersErrors`. /// /// - Parameters: - /// - enabledBy: - /// - mergeMethod: The merge method to use. - /// - commitTitle: Title for the merge commit message. - /// - commitMessage: Commit message for the merge commit. - public init( - enabledBy: Components.Schemas.SimpleUser, - mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload, - commitTitle: Swift.String, - commitMessage: Swift.String - ) { - self.enabledBy = enabledBy - self.mergeMethod = mergeMethod - self.commitTitle = commitTitle - self.commitMessage = commitMessage + /// - errors: + public init(errors: Components.Schemas.CodeownersErrors.ErrorsPayload) { + self.errors = errors } public enum CodingKeys: String, CodingKey { - case enabledBy = "enabled_by" - case mergeMethod = "merge_method" - case commitTitle = "commit_title" - case commitMessage = "commit_message" + case errors } } - /// Pull Request Simple + /// Collaborator /// - /// - Remark: Generated from `#/components/schemas/pull-request-simple`. - public struct PullRequestSimple: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/id`. + /// - Remark: Generated from `#/components/schemas/collaborator`. + public struct Collaborator: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/collaborator/login`. + public var login: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/id`. public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/pull-request-simple/node_id`. + /// - Remark: Generated from `#/components/schemas/collaborator/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/collaborator/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/collaborator/node_id`. public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/html_url`. + /// - Remark: Generated from `#/components/schemas/collaborator/avatar_url`. + public var avatarUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/collaborator/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/html_url`. public var htmlUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/diff_url`. - public var diffUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/patch_url`. - public var patchUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/issue_url`. - public var issueUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/commits_url`. - public var commitsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comments_url`. - public var reviewCommentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comment_url`. - public var reviewCommentUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/comments_url`. - public var commentsUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/statuses_url`. - public var statusesUrl: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/number`. - public var number: Swift.Int - /// - Remark: Generated from `#/components/schemas/pull-request-simple/state`. - public var state: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/locked`. - public var locked: Swift.Bool - /// - Remark: Generated from `#/components/schemas/pull-request-simple/title`. - public var title: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/body`. - public var body: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload`. - public struct LabelsPayloadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/id`. - public var id: Swift.Int64 - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/node_id`. - public var nodeId: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/url`. - public var url: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/name`. - public var name: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/description`. - public var description: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/color`. - public var color: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/default`. - public var _default: Swift.Bool - /// Creates a new `LabelsPayloadPayload`. - /// - /// - Parameters: - /// - id: - /// - nodeId: - /// - url: - /// - name: - /// - description: - /// - color: - /// - _default: - public init( - id: Swift.Int64, - nodeId: Swift.String, - url: Swift.String, - name: Swift.String, - description: Swift.String, - color: Swift.String, - _default: Swift.Bool - ) { - self.id = id - self.nodeId = nodeId - self.url = url - self.name = name - self.description = description - self.color = color - self._default = _default - } - public enum CodingKeys: String, CodingKey { - case id - case nodeId = "node_id" - case url - case name - case description - case color - case _default = "default" - } - } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. - public typealias LabelsPayload = [Components.Schemas.PullRequestSimple.LabelsPayloadPayload] - /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. - public var labels: Components.Schemas.PullRequestSimple.LabelsPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/milestone`. - public var milestone: Components.Schemas.NullableMilestone? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/active_lock_reason`. - public var activeLockReason: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/created_at`. - public var createdAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/pull-request-simple/updated_at`. - public var updatedAt: Foundation.Date - /// - Remark: Generated from `#/components/schemas/pull-request-simple/closed_at`. - public var closedAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/merged_at`. - public var mergedAt: Foundation.Date? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/merge_commit_sha`. - public var mergeCommitSha: Swift.String? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignee`. - public var assignee: Components.Schemas.NullableSimpleUser? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignees`. - public var assignees: [Components.Schemas.SimpleUser]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_reviewers`. - public var requestedReviewers: [Components.Schemas.SimpleUser]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_teams`. - public var requestedTeams: [Components.Schemas.Team]? - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. - public struct HeadPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/label`. - public var label: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/ref`. - public var ref: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/repo`. - public var repo: Components.Schemas.Repository - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// Creates a new `HeadPayload`. - /// - /// - Parameters: - /// - label: - /// - ref: - /// - repo: - /// - sha: - /// - user: - public init( - label: Swift.String, - ref: Swift.String, - repo: Components.Schemas.Repository, - sha: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil - ) { - self.label = label - self.ref = ref - self.repo = repo - self.sha = sha - self.user = user - } - public enum CodingKeys: String, CodingKey { - case label - case ref - case repo - case sha - case user - } - } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. - public var head: Components.Schemas.PullRequestSimple.HeadPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. - public struct BasePayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/label`. - public var label: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/ref`. - public var ref: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/repo`. - public var repo: Components.Schemas.Repository - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/sha`. - public var sha: Swift.String - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/user`. - public var user: Components.Schemas.NullableSimpleUser? - /// Creates a new `BasePayload`. + /// - Remark: Generated from `#/components/schemas/collaborator/followers_url`. + public var followersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/following_url`. + public var followingUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/gists_url`. + public var gistsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/starred_url`. + public var starredUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/subscriptions_url`. + public var subscriptionsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/organizations_url`. + public var organizationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/repos_url`. + public var reposUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/received_events_url`. + public var receivedEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/type`. + public var _type: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/site_admin`. + public var siteAdmin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/collaborator/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/collaborator/permissions/pull`. + public var pull: Swift.Bool + /// - Remark: Generated from `#/components/schemas/collaborator/permissions/triage`. + public var triage: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/collaborator/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/collaborator/permissions/maintain`. + public var maintain: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/collaborator/permissions/admin`. + public var admin: Swift.Bool + /// Creates a new `PermissionsPayload`. /// /// - Parameters: - /// - label: - /// - ref: - /// - repo: - /// - sha: - /// - user: + /// - pull: + /// - triage: + /// - push: + /// - maintain: + /// - admin: public init( - label: Swift.String, - ref: Swift.String, - repo: Components.Schemas.Repository, - sha: Swift.String, - user: Components.Schemas.NullableSimpleUser? = nil + pull: Swift.Bool, + triage: Swift.Bool? = nil, + push: Swift.Bool, + maintain: Swift.Bool? = nil, + admin: Swift.Bool ) { - self.label = label - self.ref = ref - self.repo = repo - self.sha = sha - self.user = user + self.pull = pull + self.triage = triage + self.push = push + self.maintain = maintain + self.admin = admin } public enum CodingKeys: String, CodingKey { - case label - case ref - case repo - case sha - case user + case pull + case triage + case push + case maintain + case admin } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. - public var base: Components.Schemas.PullRequestSimple.BasePayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. - public struct _LinksPayload: Codable, Hashable, Sendable { - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/comments`. - public var comments: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/commits`. - public var commits: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/statuses`. - public var statuses: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/html`. - public var html: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/issue`. - public var issue: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comments`. - public var reviewComments: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comment`. - public var reviewComment: Components.Schemas.Link - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/self`. - public var _self: Components.Schemas.Link - /// Creates a new `_LinksPayload`. + /// - Remark: Generated from `#/components/schemas/collaborator/permissions`. + public var permissions: Components.Schemas.Collaborator.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/collaborator/role_name`. + public var roleName: Swift.String + /// - Remark: Generated from `#/components/schemas/collaborator/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `Collaborator`. + /// + /// - Parameters: + /// - login: + /// - id: + /// - email: + /// - name: + /// - nodeId: + /// - avatarUrl: + /// - gravatarId: + /// - url: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - reposUrl: + /// - eventsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - permissions: + /// - roleName: + /// - userViewType: + public init( + login: Swift.String, + id: Swift.Int64, + email: Swift.String? = nil, + name: Swift.String? = nil, + nodeId: Swift.String, + avatarUrl: Swift.String, + gravatarId: Swift.String? = nil, + url: Swift.String, + htmlUrl: Swift.String, + followersUrl: Swift.String, + followingUrl: Swift.String, + gistsUrl: Swift.String, + starredUrl: Swift.String, + subscriptionsUrl: Swift.String, + organizationsUrl: Swift.String, + reposUrl: Swift.String, + eventsUrl: Swift.String, + receivedEventsUrl: Swift.String, + _type: Swift.String, + siteAdmin: Swift.Bool, + permissions: Components.Schemas.Collaborator.PermissionsPayload? = nil, + roleName: Swift.String, + userViewType: Swift.String? = nil + ) { + self.login = login + self.id = id + self.email = email + self.name = name + self.nodeId = nodeId + self.avatarUrl = avatarUrl + self.gravatarId = gravatarId + self.url = url + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.permissions = permissions + self.roleName = roleName + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case login + case id + case email + case name + case nodeId = "node_id" + case avatarUrl = "avatar_url" + case gravatarId = "gravatar_id" + case url + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case permissions + case roleName = "role_name" + case userViewType = "user_view_type" + } + } + /// Repository invitations let you manage who you collaborate with. + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation`. + public struct RepositoryInvitation: Codable, Hashable, Sendable { + /// Unique identifier of the repository invitation. + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/repository-invitation/repository`. + public var repository: Components.Schemas.MinimalRepository + /// - Remark: Generated from `#/components/schemas/repository-invitation/invitee`. + public var invitee: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/repository-invitation/inviter`. + public var inviter: Components.Schemas.NullableSimpleUser? + /// The permission associated with the invitation. + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation/permissions`. + @frozen public enum PermissionsPayload: String, Codable, Hashable, Sendable, CaseIterable { + case read = "read" + case write = "write" + case admin = "admin" + case triage = "triage" + case maintain = "maintain" + } + /// The permission associated with the invitation. + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation/permissions`. + public var permissions: Components.Schemas.RepositoryInvitation.PermissionsPayload + /// - Remark: Generated from `#/components/schemas/repository-invitation/created_at`. + public var createdAt: Foundation.Date + /// Whether or not the invitation has expired + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation/expired`. + public var expired: Swift.Bool? + /// URL for the repository invitation + /// + /// - Remark: Generated from `#/components/schemas/repository-invitation/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/repository-invitation/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository-invitation/node_id`. + public var nodeId: Swift.String + /// Creates a new `RepositoryInvitation`. + /// + /// - Parameters: + /// - id: Unique identifier of the repository invitation. + /// - repository: + /// - invitee: + /// - inviter: + /// - permissions: The permission associated with the invitation. + /// - createdAt: + /// - expired: Whether or not the invitation has expired + /// - url: URL for the repository invitation + /// - htmlUrl: + /// - nodeId: + public init( + id: Swift.Int64, + repository: Components.Schemas.MinimalRepository, + invitee: Components.Schemas.NullableSimpleUser? = nil, + inviter: Components.Schemas.NullableSimpleUser? = nil, + permissions: Components.Schemas.RepositoryInvitation.PermissionsPayload, + createdAt: Foundation.Date, + expired: Swift.Bool? = nil, + url: Swift.String, + htmlUrl: Swift.String, + nodeId: Swift.String + ) { + self.id = id + self.repository = repository + self.invitee = invitee + self.inviter = inviter + self.permissions = permissions + self.createdAt = createdAt + self.expired = expired + self.url = url + self.htmlUrl = htmlUrl + self.nodeId = nodeId + } + public enum CodingKeys: String, CodingKey { + case id + case repository + case invitee + case inviter + case permissions + case createdAt = "created_at" + case expired + case url + case htmlUrl = "html_url" + case nodeId = "node_id" + } + } + /// Collaborator + /// + /// - Remark: Generated from `#/components/schemas/nullable-collaborator`. + public struct NullableCollaborator: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/login`. + public var login: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/avatar_url`. + public var avatarUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/followers_url`. + public var followersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/following_url`. + public var followingUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/gists_url`. + public var gistsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/starred_url`. + public var starredUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/subscriptions_url`. + public var subscriptionsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/organizations_url`. + public var organizationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/repos_url`. + public var reposUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/received_events_url`. + public var receivedEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/type`. + public var _type: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/site_admin`. + public var siteAdmin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/pull`. + public var pull: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/triage`. + public var triage: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/maintain`. + public var maintain: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions/admin`. + public var admin: Swift.Bool + /// Creates a new `PermissionsPayload`. /// /// - Parameters: - /// - comments: - /// - commits: - /// - statuses: - /// - html: - /// - issue: - /// - reviewComments: - /// - reviewComment: - /// - _self: + /// - pull: + /// - triage: + /// - push: + /// - maintain: + /// - admin: public init( - comments: Components.Schemas.Link, - commits: Components.Schemas.Link, - statuses: Components.Schemas.Link, - html: Components.Schemas.Link, - issue: Components.Schemas.Link, - reviewComments: Components.Schemas.Link, - reviewComment: Components.Schemas.Link, - _self: Components.Schemas.Link + pull: Swift.Bool, + triage: Swift.Bool? = nil, + push: Swift.Bool, + maintain: Swift.Bool? = nil, + admin: Swift.Bool ) { - self.comments = comments - self.commits = commits - self.statuses = statuses - self.html = html - self.issue = issue - self.reviewComments = reviewComments - self.reviewComment = reviewComment - self._self = _self + self.pull = pull + self.triage = triage + self.push = push + self.maintain = maintain + self.admin = admin } public enum CodingKeys: String, CodingKey { - case comments - case commits - case statuses - case html - case issue - case reviewComments = "review_comments" - case reviewComment = "review_comment" - case _self = "self" + case pull + case triage + case push + case maintain + case admin } } - /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. - public var _links: Components.Schemas.PullRequestSimple._LinksPayload - /// - Remark: Generated from `#/components/schemas/pull-request-simple/author_association`. + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/permissions`. + public var permissions: Components.Schemas.NullableCollaborator.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/role_name`. + public var roleName: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-collaborator/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `NullableCollaborator`. + /// + /// - Parameters: + /// - login: + /// - id: + /// - email: + /// - name: + /// - nodeId: + /// - avatarUrl: + /// - gravatarId: + /// - url: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - reposUrl: + /// - eventsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - permissions: + /// - roleName: + /// - userViewType: + public init( + login: Swift.String, + id: Swift.Int64, + email: Swift.String? = nil, + name: Swift.String? = nil, + nodeId: Swift.String, + avatarUrl: Swift.String, + gravatarId: Swift.String? = nil, + url: Swift.String, + htmlUrl: Swift.String, + followersUrl: Swift.String, + followingUrl: Swift.String, + gistsUrl: Swift.String, + starredUrl: Swift.String, + subscriptionsUrl: Swift.String, + organizationsUrl: Swift.String, + reposUrl: Swift.String, + eventsUrl: Swift.String, + receivedEventsUrl: Swift.String, + _type: Swift.String, + siteAdmin: Swift.Bool, + permissions: Components.Schemas.NullableCollaborator.PermissionsPayload? = nil, + roleName: Swift.String, + userViewType: Swift.String? = nil + ) { + self.login = login + self.id = id + self.email = email + self.name = name + self.nodeId = nodeId + self.avatarUrl = avatarUrl + self.gravatarId = gravatarId + self.url = url + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.permissions = permissions + self.roleName = roleName + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case login + case id + case email + case name + case nodeId = "node_id" + case avatarUrl = "avatar_url" + case gravatarId = "gravatar_id" + case url + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case permissions + case roleName = "role_name" + case userViewType = "user_view_type" + } + } + /// Repository Collaborator Permission + /// + /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission`. + public struct RepositoryCollaboratorPermission: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/permission`. + public var permission: Swift.String + /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/role_name`. + public var roleName: Swift.String + /// - Remark: Generated from `#/components/schemas/repository-collaborator-permission/user`. + public var user: Components.Schemas.NullableCollaborator? + /// Creates a new `RepositoryCollaboratorPermission`. + /// + /// - Parameters: + /// - permission: + /// - roleName: + /// - user: + public init( + permission: Swift.String, + roleName: Swift.String, + user: Components.Schemas.NullableCollaborator? = nil + ) { + self.permission = permission + self.roleName = roleName + self.user = user + } + public enum CodingKeys: String, CodingKey { + case permission + case roleName = "role_name" + case user + } + } + /// Commit Comment + /// + /// - Remark: Generated from `#/components/schemas/commit-comment`. + public struct CommitComment: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/commit-comment/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/commit-comment/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/commit-comment/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/commit-comment/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/commit-comment/body`. + public var body: Swift.String + /// - Remark: Generated from `#/components/schemas/commit-comment/path`. + public var path: Swift.String? + /// - Remark: Generated from `#/components/schemas/commit-comment/position`. + public var position: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit-comment/line`. + public var line: Swift.Int? + /// - Remark: Generated from `#/components/schemas/commit-comment/commit_id`. + public var commitId: Swift.String + /// - Remark: Generated from `#/components/schemas/commit-comment/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/commit-comment/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/commit-comment/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/commit-comment/author_association`. public var authorAssociation: Components.Schemas.AuthorAssociation - /// - Remark: Generated from `#/components/schemas/pull-request-simple/auto_merge`. - public var autoMerge: Components.Schemas.AutoMerge? - /// Indicates whether or not the pull request is a draft. - /// - /// - Remark: Generated from `#/components/schemas/pull-request-simple/draft`. - public var draft: Swift.Bool? - /// Creates a new `PullRequestSimple`. + /// - Remark: Generated from `#/components/schemas/commit-comment/reactions`. + public var reactions: Components.Schemas.ReactionRollup? + /// Creates a new `CommitComment`. /// /// - Parameters: + /// - htmlUrl: /// - url: /// - id: /// - nodeId: - /// - htmlUrl: - /// - diffUrl: - /// - patchUrl: - /// - issueUrl: - /// - commitsUrl: - /// - reviewCommentsUrl: - /// - reviewCommentUrl: - /// - commentsUrl: - /// - statusesUrl: - /// - number: - /// - state: - /// - locked: - /// - title: - /// - user: /// - body: - /// - labels: - /// - milestone: - /// - activeLockReason: + /// - path: + /// - position: + /// - line: + /// - commitId: + /// - user: /// - createdAt: /// - updatedAt: - /// - closedAt: - /// - mergedAt: - /// - mergeCommitSha: - /// - assignee: - /// - assignees: - /// - requestedReviewers: - /// - requestedTeams: - /// - head: - /// - base: - /// - _links: /// - authorAssociation: - /// - autoMerge: - /// - draft: Indicates whether or not the pull request is a draft. + /// - reactions: public init( + htmlUrl: Swift.String, url: Swift.String, - id: Swift.Int64, + id: Swift.Int, nodeId: Swift.String, - htmlUrl: Swift.String, - diffUrl: Swift.String, - patchUrl: Swift.String, - issueUrl: Swift.String, - commitsUrl: Swift.String, - reviewCommentsUrl: Swift.String, - reviewCommentUrl: Swift.String, - commentsUrl: Swift.String, - statusesUrl: Swift.String, - number: Swift.Int, - state: Swift.String, - locked: Swift.Bool, - title: Swift.String, + body: Swift.String, + path: Swift.String? = nil, + position: Swift.Int? = nil, + line: Swift.Int? = nil, + commitId: Swift.String, user: Components.Schemas.NullableSimpleUser? = nil, - body: Swift.String? = nil, - labels: Components.Schemas.PullRequestSimple.LabelsPayload, - milestone: Components.Schemas.NullableMilestone? = nil, - activeLockReason: Swift.String? = nil, createdAt: Foundation.Date, updatedAt: Foundation.Date, - closedAt: Foundation.Date? = nil, - mergedAt: Foundation.Date? = nil, - mergeCommitSha: Swift.String? = nil, - assignee: Components.Schemas.NullableSimpleUser? = nil, - assignees: [Components.Schemas.SimpleUser]? = nil, - requestedReviewers: [Components.Schemas.SimpleUser]? = nil, - requestedTeams: [Components.Schemas.Team]? = nil, - head: Components.Schemas.PullRequestSimple.HeadPayload, - base: Components.Schemas.PullRequestSimple.BasePayload, - _links: Components.Schemas.PullRequestSimple._LinksPayload, authorAssociation: Components.Schemas.AuthorAssociation, - autoMerge: Components.Schemas.AutoMerge? = nil, - draft: Swift.Bool? = nil + reactions: Components.Schemas.ReactionRollup? = nil ) { + self.htmlUrl = htmlUrl self.url = url self.id = id self.nodeId = nodeId - self.htmlUrl = htmlUrl - self.diffUrl = diffUrl - self.patchUrl = patchUrl - self.issueUrl = issueUrl - self.commitsUrl = commitsUrl - self.reviewCommentsUrl = reviewCommentsUrl - self.reviewCommentUrl = reviewCommentUrl - self.commentsUrl = commentsUrl - self.statusesUrl = statusesUrl - self.number = number - self.state = state - self.locked = locked - self.title = title - self.user = user self.body = body - self.labels = labels - self.milestone = milestone - self.activeLockReason = activeLockReason + self.path = path + self.position = position + self.line = line + self.commitId = commitId + self.user = user self.createdAt = createdAt self.updatedAt = updatedAt - self.closedAt = closedAt - self.mergedAt = mergedAt - self.mergeCommitSha = mergeCommitSha - self.assignee = assignee - self.assignees = assignees - self.requestedReviewers = requestedReviewers - self.requestedTeams = requestedTeams - self.head = head - self.base = base - self._links = _links self.authorAssociation = authorAssociation - self.autoMerge = autoMerge - self.draft = draft + self.reactions = reactions } public enum CodingKeys: String, CodingKey { + case htmlUrl = "html_url" case url case id case nodeId = "node_id" - case htmlUrl = "html_url" - case diffUrl = "diff_url" - case patchUrl = "patch_url" - case issueUrl = "issue_url" - case commitsUrl = "commits_url" - case reviewCommentsUrl = "review_comments_url" - case reviewCommentUrl = "review_comment_url" - case commentsUrl = "comments_url" - case statusesUrl = "statuses_url" - case number - case state - case locked - case title - case user case body - case labels - case milestone - case activeLockReason = "active_lock_reason" + case path + case position + case line + case commitId = "commit_id" + case user case createdAt = "created_at" case updatedAt = "updated_at" - case closedAt = "closed_at" - case mergedAt = "merged_at" - case mergeCommitSha = "merge_commit_sha" - case assignee - case assignees - case requestedReviewers = "requested_reviewers" - case requestedTeams = "requested_teams" - case head - case base - case _links case authorAssociation = "author_association" - case autoMerge = "auto_merge" - case draft + case reactions + } + } + /// Branch Short + /// + /// - Remark: Generated from `#/components/schemas/branch-short`. + public struct BranchShort: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-short/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-short/commit`. + public struct CommitPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/branch-short/commit/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/branch-short/commit/url`. + public var url: Swift.String + /// Creates a new `CommitPayload`. + /// + /// - Parameters: + /// - sha: + /// - url: + public init( + sha: Swift.String, + url: Swift.String + ) { + self.sha = sha + self.url = url + } + public enum CodingKeys: String, CodingKey { + case sha + case url + } + } + /// - Remark: Generated from `#/components/schemas/branch-short/commit`. + public var commit: Components.Schemas.BranchShort.CommitPayload + /// - Remark: Generated from `#/components/schemas/branch-short/protected`. + public var protected: Swift.Bool + /// Creates a new `BranchShort`. + /// + /// - Parameters: + /// - name: + /// - commit: + /// - protected: + public init( + name: Swift.String, + commit: Components.Schemas.BranchShort.CommitPayload, + protected: Swift.Bool + ) { + self.name = name + self.commit = commit + self.protected = protected + } + public enum CodingKeys: String, CodingKey { + case name + case commit + case protected } } /// - Remark: Generated from `#/components/schemas/simple-commit-status`. From 47865a295fd9e4498b5c5cf97e7bba646c49805e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Mon, 15 Sep 2025 21:50:31 +0000 Subject: [PATCH 4/4] Commit via running: make Sources/projects --- Sources/projects/Client.swift | 2358 ++++++++ Sources/projects/Types.swift | 9464 ++++++++++++++++++++++++++++++++- 2 files changed, 11816 insertions(+), 6 deletions(-) diff --git a/Sources/projects/Client.swift b/Sources/projects/Client.swift index 87202523ac..3b8fa88a4b 100644 --- a/Sources/projects/Client.swift +++ b/Sources/projects/Client.swift @@ -38,4 +38,2362 @@ public struct Client: APIProtocol { private var converter: Converter { client.converter } + /// List projects for organization + /// + /// List all projects owned by a specific organization accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)`. + public func projectsListForOrg(_ input: Operations.ProjectsListForOrg.Input) async throws -> Operations.ProjectsListForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2", + parameters: [ + input.path.org + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "q", + value: input.query.q + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListForOrg.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get project for organization + /// + /// Get a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)`. + public func projectsGetForOrg(_ input: Operations.ProjectsGetForOrg.Input) async throws -> Operations.ProjectsGetForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}", + parameters: [ + input.path.org, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetForOrg.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// List project fields for organization + /// + /// List all fields for a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)`. + public func projectsListFieldsForOrg(_ input: Operations.ProjectsListFieldsForOrg.Input) async throws -> Operations.ProjectsListFieldsForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListFieldsForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/fields", + parameters: [ + input.path.org, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListFieldsForOrg.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListFieldsForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2Field].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get project field for organization + /// + /// Get a specific field for an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)`. + public func projectsGetFieldForOrg(_ input: Operations.ProjectsGetFieldForOrg.Input) async throws -> Operations.ProjectsGetFieldForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetFieldForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/fields/{}", + parameters: [ + input.path.org, + input.path.projectNumber, + input.path.fieldId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetFieldForOrg.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetFieldForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2Field.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// List items for an organization owned project + /// + /// List all items for a specific organization-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)`. + public func projectsListItemsForOrg(_ input: Operations.ProjectsListItemsForOrg.Input) async throws -> Operations.ProjectsListItemsForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListItemsForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/items", + parameters: [ + input.path.org, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "q", + value: input.query.q + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "fields", + value: input.query.fields + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListItemsForOrg.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListItemsForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2ItemWithContent].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Add item to organization owned project + /// + /// Add an issue or pull request item to the specified organization owned project. + /// + /// - Remark: HTTP `POST /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)`. + public func projectsAddItemForOrg(_ input: Operations.ProjectsAddItemForOrg.Input) async throws -> Operations.ProjectsAddItemForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsAddItemForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/items", + parameters: [ + input.path.org, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .post + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + let body: OpenAPIRuntime.HTTPBody? + switch input.body { + case let .json(value): + body = try converter.setRequiredRequestBodyAsJSON( + value, + headerFields: &request.headerFields, + contentType: "application/json; charset=utf-8" + ) + } + return (request, body) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 201: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsAddItemForOrg.Output.Created.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemSimple.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .created(.init(body: body)) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get an item for an organization owned project + /// + /// Get a specific item from an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)`. + public func projectsGetOrgItem(_ input: Operations.ProjectsGetOrgItem.Input) async throws -> Operations.ProjectsGetOrgItem.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetOrgItem.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.org, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "fields", + value: input.query.fields + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetOrgItem.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetOrgItem.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemWithContent.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Update project item for organization + /// + /// Update a specific item in an organization-owned project. + /// + /// - Remark: HTTP `PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)`. + public func projectsUpdateItemForOrg(_ input: Operations.ProjectsUpdateItemForOrg.Input) async throws -> Operations.ProjectsUpdateItemForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsUpdateItemForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.org, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .patch + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + let body: OpenAPIRuntime.HTTPBody? + switch input.body { + case let .json(value): + body = try converter.setRequiredRequestBodyAsJSON( + value, + headerFields: &request.headerFields, + contentType: "application/json; charset=utf-8" + ) + } + return (request, body) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsUpdateItemForOrg.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemWithContent.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 404: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.NotFound.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .notFound(.init(body: body)) + case 422: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.ValidationFailed.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ValidationError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unprocessableContent(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Delete project item for organization + /// + /// Delete a specific item from an organization-owned project. + /// + /// - Remark: HTTP `DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)`. + public func projectsDeleteItemForOrg(_ input: Operations.ProjectsDeleteItemForOrg.Input) async throws -> Operations.ProjectsDeleteItemForOrg.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsDeleteItemForOrg.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/orgs/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.org, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .delete + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 204: + return .noContent(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get project for user + /// + /// Get a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)`. + public func projectsGetForUser(_ input: Operations.ProjectsGetForUser.Input) async throws -> Operations.ProjectsGetForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}", + parameters: [ + input.path.userId, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetForUser.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// List project fields for user + /// + /// List all fields for a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)`. + public func projectsListFieldsForUser(_ input: Operations.ProjectsListFieldsForUser.Input) async throws -> Operations.ProjectsListFieldsForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListFieldsForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/fields", + parameters: [ + input.path.userId, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListFieldsForUser.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListFieldsForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2Field].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get project field for user + /// + /// Get a specific field for a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)`. + public func projectsGetFieldForUser(_ input: Operations.ProjectsGetFieldForUser.Input) async throws -> Operations.ProjectsGetFieldForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetFieldForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/fields/{}", + parameters: [ + input.path.userId, + input.path.projectNumber, + input.path.fieldId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetFieldForUser.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetFieldForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2Field.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// List items for a user owned project + /// + /// List all items for a specific user-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)`. + public func projectsListItemsForUser(_ input: Operations.ProjectsListItemsForUser.Input) async throws -> Operations.ProjectsListItemsForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListItemsForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/items", + parameters: [ + input.path.userId, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "q", + value: input.query.q + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "fields", + value: input.query.fields + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListItemsForUser.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListItemsForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2ItemWithContent].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Add item to user owned project + /// + /// Add an issue or pull request item to the specified user owned project. + /// + /// - Remark: HTTP `POST /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)`. + public func projectsAddItemForUser(_ input: Operations.ProjectsAddItemForUser.Input) async throws -> Operations.ProjectsAddItemForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsAddItemForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/items", + parameters: [ + input.path.userId, + input.path.projectNumber + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .post + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + let body: OpenAPIRuntime.HTTPBody? + switch input.body { + case let .json(value): + body = try converter.setRequiredRequestBodyAsJSON( + value, + headerFields: &request.headerFields, + contentType: "application/json; charset=utf-8" + ) + } + return (request, body) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 201: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsAddItemForUser.Output.Created.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemSimple.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .created(.init(body: body)) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Get an item for a user owned project + /// + /// Get a specific item from a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)`. + public func projectsGetUserItem(_ input: Operations.ProjectsGetUserItem.Input) async throws -> Operations.ProjectsGetUserItem.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsGetUserItem.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.userId, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "fields", + value: input.query.fields + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsGetUserItem.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsGetUserItem.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemWithContent.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Update project item for user + /// + /// Update a specific item in a user-owned project. + /// + /// - Remark: HTTP `PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)`. + public func projectsUpdateItemForUser(_ input: Operations.ProjectsUpdateItemForUser.Input) async throws -> Operations.ProjectsUpdateItemForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsUpdateItemForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.userId, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .patch + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + let body: OpenAPIRuntime.HTTPBody? + switch input.body { + case let .json(value): + body = try converter.setRequiredRequestBodyAsJSON( + value, + headerFields: &request.headerFields, + contentType: "application/json; charset=utf-8" + ) + } + return (request, body) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsUpdateItemForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ProjectsV2ItemWithContent.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 404: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.NotFound.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .notFound(.init(body: body)) + case 422: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.ValidationFailed.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.ValidationError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unprocessableContent(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// Delete project item for user + /// + /// Delete a specific item from a user-owned project. + /// + /// - Remark: HTTP `DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)`. + public func projectsDeleteItemForUser(_ input: Operations.ProjectsDeleteItemForUser.Input) async throws -> Operations.ProjectsDeleteItemForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsDeleteItemForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2/{}/items/{}", + parameters: [ + input.path.userId, + input.path.projectNumber, + input.path.itemId + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .delete + ) + suppressMutabilityWarning(&request) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 204: + return .noContent(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } + /// List projects for user + /// + /// List all projects owned by a specific user accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{username}/projectsV2`. + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)`. + public func projectsListForUser(_ input: Operations.ProjectsListForUser.Input) async throws -> Operations.ProjectsListForUser.Output { + try await client.send( + input: input, + forOperation: Operations.ProjectsListForUser.id, + serializer: { input in + let path = try converter.renderedPath( + template: "/users/{}/projectsV2", + parameters: [ + input.path.username + ] + ) + var request: HTTPTypes.HTTPRequest = .init( + soar_path: path, + method: .get + ) + suppressMutabilityWarning(&request) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "q", + value: input.query.q + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "before", + value: input.query.before + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "after", + value: input.query.after + ) + try converter.setQueryItemAsURI( + in: &request, + style: .form, + explode: true, + name: "per_page", + value: input.query.perPage + ) + converter.setAcceptHeader( + in: &request.headerFields, + contentTypes: input.headers.accept + ) + return (request, nil) + }, + deserializer: { response, responseBody in + switch response.status.code { + case 200: + let headers: Operations.ProjectsListForUser.Output.Ok.Headers = .init(link: try converter.getOptionalHeaderFieldAsURI( + in: response.headerFields, + name: "Link", + as: Components.Headers.Link.self + )) + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Operations.ProjectsListForUser.Output.Ok.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + [Components.Schemas.ProjectsV2].self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .ok(.init( + headers: headers, + body: body + )) + case 304: + return .notModified(.init()) + case 403: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.Forbidden.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .forbidden(.init(body: body)) + case 401: + let contentType = converter.extractContentTypeIfPresent(in: response.headerFields) + let body: Components.Responses.RequiresAuthentication.Body + let chosenContentType = try converter.bestContentType( + received: contentType, + options: [ + "application/json" + ] + ) + switch chosenContentType { + case "application/json": + body = try await converter.getResponseBodyAsJSON( + Components.Schemas.BasicError.self, + from: responseBody, + transforming: { value in + .json(value) + } + ) + default: + preconditionFailure("bestContentType chose an invalid content type.") + } + return .unauthorized(.init(body: body)) + default: + return .undocumented( + statusCode: response.status.code, + .init( + headerFields: response.headerFields, + body: responseBody + ) + ) + } + } + ) + } } diff --git a/Sources/projects/Types.swift b/Sources/projects/Types.swift index c3d1209ecf..548e41ea0a 100644 --- a/Sources/projects/Types.swift +++ b/Sources/projects/Types.swift @@ -10,10 +10,431 @@ import struct Foundation.Data import struct Foundation.Date #endif /// A type that performs HTTP operations defined by the OpenAPI document. -public protocol APIProtocol: Sendable {} +public protocol APIProtocol: Sendable { + /// List projects for organization + /// + /// List all projects owned by a specific organization accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)`. + func projectsListForOrg(_ input: Operations.ProjectsListForOrg.Input) async throws -> Operations.ProjectsListForOrg.Output + /// Get project for organization + /// + /// Get a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)`. + func projectsGetForOrg(_ input: Operations.ProjectsGetForOrg.Input) async throws -> Operations.ProjectsGetForOrg.Output + /// List project fields for organization + /// + /// List all fields for a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)`. + func projectsListFieldsForOrg(_ input: Operations.ProjectsListFieldsForOrg.Input) async throws -> Operations.ProjectsListFieldsForOrg.Output + /// Get project field for organization + /// + /// Get a specific field for an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)`. + func projectsGetFieldForOrg(_ input: Operations.ProjectsGetFieldForOrg.Input) async throws -> Operations.ProjectsGetFieldForOrg.Output + /// List items for an organization owned project + /// + /// List all items for a specific organization-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)`. + func projectsListItemsForOrg(_ input: Operations.ProjectsListItemsForOrg.Input) async throws -> Operations.ProjectsListItemsForOrg.Output + /// Add item to organization owned project + /// + /// Add an issue or pull request item to the specified organization owned project. + /// + /// - Remark: HTTP `POST /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)`. + func projectsAddItemForOrg(_ input: Operations.ProjectsAddItemForOrg.Input) async throws -> Operations.ProjectsAddItemForOrg.Output + /// Get an item for an organization owned project + /// + /// Get a specific item from an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)`. + func projectsGetOrgItem(_ input: Operations.ProjectsGetOrgItem.Input) async throws -> Operations.ProjectsGetOrgItem.Output + /// Update project item for organization + /// + /// Update a specific item in an organization-owned project. + /// + /// - Remark: HTTP `PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)`. + func projectsUpdateItemForOrg(_ input: Operations.ProjectsUpdateItemForOrg.Input) async throws -> Operations.ProjectsUpdateItemForOrg.Output + /// Delete project item for organization + /// + /// Delete a specific item from an organization-owned project. + /// + /// - Remark: HTTP `DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)`. + func projectsDeleteItemForOrg(_ input: Operations.ProjectsDeleteItemForOrg.Input) async throws -> Operations.ProjectsDeleteItemForOrg.Output + /// Get project for user + /// + /// Get a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)`. + func projectsGetForUser(_ input: Operations.ProjectsGetForUser.Input) async throws -> Operations.ProjectsGetForUser.Output + /// List project fields for user + /// + /// List all fields for a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)`. + func projectsListFieldsForUser(_ input: Operations.ProjectsListFieldsForUser.Input) async throws -> Operations.ProjectsListFieldsForUser.Output + /// Get project field for user + /// + /// Get a specific field for a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)`. + func projectsGetFieldForUser(_ input: Operations.ProjectsGetFieldForUser.Input) async throws -> Operations.ProjectsGetFieldForUser.Output + /// List items for a user owned project + /// + /// List all items for a specific user-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)`. + func projectsListItemsForUser(_ input: Operations.ProjectsListItemsForUser.Input) async throws -> Operations.ProjectsListItemsForUser.Output + /// Add item to user owned project + /// + /// Add an issue or pull request item to the specified user owned project. + /// + /// - Remark: HTTP `POST /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)`. + func projectsAddItemForUser(_ input: Operations.ProjectsAddItemForUser.Input) async throws -> Operations.ProjectsAddItemForUser.Output + /// Get an item for a user owned project + /// + /// Get a specific item from a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)`. + func projectsGetUserItem(_ input: Operations.ProjectsGetUserItem.Input) async throws -> Operations.ProjectsGetUserItem.Output + /// Update project item for user + /// + /// Update a specific item in a user-owned project. + /// + /// - Remark: HTTP `PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)`. + func projectsUpdateItemForUser(_ input: Operations.ProjectsUpdateItemForUser.Input) async throws -> Operations.ProjectsUpdateItemForUser.Output + /// Delete project item for user + /// + /// Delete a specific item from a user-owned project. + /// + /// - Remark: HTTP `DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)`. + func projectsDeleteItemForUser(_ input: Operations.ProjectsDeleteItemForUser.Input) async throws -> Operations.ProjectsDeleteItemForUser.Output + /// List projects for user + /// + /// List all projects owned by a specific user accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{username}/projectsV2`. + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)`. + func projectsListForUser(_ input: Operations.ProjectsListForUser.Input) async throws -> Operations.ProjectsListForUser.Output +} /// Convenience overloads for operation inputs. extension APIProtocol { + /// List projects for organization + /// + /// List all projects owned by a specific organization accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)`. + public func projectsListForOrg( + path: Operations.ProjectsListForOrg.Input.Path, + query: Operations.ProjectsListForOrg.Input.Query = .init(), + headers: Operations.ProjectsListForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsListForOrg.Output { + try await projectsListForOrg(Operations.ProjectsListForOrg.Input( + path: path, + query: query, + headers: headers + )) + } + /// Get project for organization + /// + /// Get a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)`. + public func projectsGetForOrg( + path: Operations.ProjectsGetForOrg.Input.Path, + headers: Operations.ProjectsGetForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetForOrg.Output { + try await projectsGetForOrg(Operations.ProjectsGetForOrg.Input( + path: path, + headers: headers + )) + } + /// List project fields for organization + /// + /// List all fields for a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)`. + public func projectsListFieldsForOrg( + path: Operations.ProjectsListFieldsForOrg.Input.Path, + query: Operations.ProjectsListFieldsForOrg.Input.Query = .init(), + headers: Operations.ProjectsListFieldsForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsListFieldsForOrg.Output { + try await projectsListFieldsForOrg(Operations.ProjectsListFieldsForOrg.Input( + path: path, + query: query, + headers: headers + )) + } + /// Get project field for organization + /// + /// Get a specific field for an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)`. + public func projectsGetFieldForOrg( + path: Operations.ProjectsGetFieldForOrg.Input.Path, + headers: Operations.ProjectsGetFieldForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetFieldForOrg.Output { + try await projectsGetFieldForOrg(Operations.ProjectsGetFieldForOrg.Input( + path: path, + headers: headers + )) + } + /// List items for an organization owned project + /// + /// List all items for a specific organization-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)`. + public func projectsListItemsForOrg( + path: Operations.ProjectsListItemsForOrg.Input.Path, + query: Operations.ProjectsListItemsForOrg.Input.Query = .init(), + headers: Operations.ProjectsListItemsForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsListItemsForOrg.Output { + try await projectsListItemsForOrg(Operations.ProjectsListItemsForOrg.Input( + path: path, + query: query, + headers: headers + )) + } + /// Add item to organization owned project + /// + /// Add an issue or pull request item to the specified organization owned project. + /// + /// - Remark: HTTP `POST /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)`. + public func projectsAddItemForOrg( + path: Operations.ProjectsAddItemForOrg.Input.Path, + headers: Operations.ProjectsAddItemForOrg.Input.Headers = .init(), + body: Operations.ProjectsAddItemForOrg.Input.Body + ) async throws -> Operations.ProjectsAddItemForOrg.Output { + try await projectsAddItemForOrg(Operations.ProjectsAddItemForOrg.Input( + path: path, + headers: headers, + body: body + )) + } + /// Get an item for an organization owned project + /// + /// Get a specific item from an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)`. + public func projectsGetOrgItem( + path: Operations.ProjectsGetOrgItem.Input.Path, + query: Operations.ProjectsGetOrgItem.Input.Query = .init(), + headers: Operations.ProjectsGetOrgItem.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetOrgItem.Output { + try await projectsGetOrgItem(Operations.ProjectsGetOrgItem.Input( + path: path, + query: query, + headers: headers + )) + } + /// Update project item for organization + /// + /// Update a specific item in an organization-owned project. + /// + /// - Remark: HTTP `PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)`. + public func projectsUpdateItemForOrg( + path: Operations.ProjectsUpdateItemForOrg.Input.Path, + headers: Operations.ProjectsUpdateItemForOrg.Input.Headers = .init(), + body: Operations.ProjectsUpdateItemForOrg.Input.Body + ) async throws -> Operations.ProjectsUpdateItemForOrg.Output { + try await projectsUpdateItemForOrg(Operations.ProjectsUpdateItemForOrg.Input( + path: path, + headers: headers, + body: body + )) + } + /// Delete project item for organization + /// + /// Delete a specific item from an organization-owned project. + /// + /// - Remark: HTTP `DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)`. + public func projectsDeleteItemForOrg( + path: Operations.ProjectsDeleteItemForOrg.Input.Path, + headers: Operations.ProjectsDeleteItemForOrg.Input.Headers = .init() + ) async throws -> Operations.ProjectsDeleteItemForOrg.Output { + try await projectsDeleteItemForOrg(Operations.ProjectsDeleteItemForOrg.Input( + path: path, + headers: headers + )) + } + /// Get project for user + /// + /// Get a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)`. + public func projectsGetForUser( + path: Operations.ProjectsGetForUser.Input.Path, + headers: Operations.ProjectsGetForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetForUser.Output { + try await projectsGetForUser(Operations.ProjectsGetForUser.Input( + path: path, + headers: headers + )) + } + /// List project fields for user + /// + /// List all fields for a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)`. + public func projectsListFieldsForUser( + path: Operations.ProjectsListFieldsForUser.Input.Path, + query: Operations.ProjectsListFieldsForUser.Input.Query = .init(), + headers: Operations.ProjectsListFieldsForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsListFieldsForUser.Output { + try await projectsListFieldsForUser(Operations.ProjectsListFieldsForUser.Input( + path: path, + query: query, + headers: headers + )) + } + /// Get project field for user + /// + /// Get a specific field for a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)`. + public func projectsGetFieldForUser( + path: Operations.ProjectsGetFieldForUser.Input.Path, + headers: Operations.ProjectsGetFieldForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetFieldForUser.Output { + try await projectsGetFieldForUser(Operations.ProjectsGetFieldForUser.Input( + path: path, + headers: headers + )) + } + /// List items for a user owned project + /// + /// List all items for a specific user-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)`. + public func projectsListItemsForUser( + path: Operations.ProjectsListItemsForUser.Input.Path, + query: Operations.ProjectsListItemsForUser.Input.Query = .init(), + headers: Operations.ProjectsListItemsForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsListItemsForUser.Output { + try await projectsListItemsForUser(Operations.ProjectsListItemsForUser.Input( + path: path, + query: query, + headers: headers + )) + } + /// Add item to user owned project + /// + /// Add an issue or pull request item to the specified user owned project. + /// + /// - Remark: HTTP `POST /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)`. + public func projectsAddItemForUser( + path: Operations.ProjectsAddItemForUser.Input.Path, + headers: Operations.ProjectsAddItemForUser.Input.Headers = .init(), + body: Operations.ProjectsAddItemForUser.Input.Body + ) async throws -> Operations.ProjectsAddItemForUser.Output { + try await projectsAddItemForUser(Operations.ProjectsAddItemForUser.Input( + path: path, + headers: headers, + body: body + )) + } + /// Get an item for a user owned project + /// + /// Get a specific item from a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)`. + public func projectsGetUserItem( + path: Operations.ProjectsGetUserItem.Input.Path, + query: Operations.ProjectsGetUserItem.Input.Query = .init(), + headers: Operations.ProjectsGetUserItem.Input.Headers = .init() + ) async throws -> Operations.ProjectsGetUserItem.Output { + try await projectsGetUserItem(Operations.ProjectsGetUserItem.Input( + path: path, + query: query, + headers: headers + )) + } + /// Update project item for user + /// + /// Update a specific item in a user-owned project. + /// + /// - Remark: HTTP `PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)`. + public func projectsUpdateItemForUser( + path: Operations.ProjectsUpdateItemForUser.Input.Path, + headers: Operations.ProjectsUpdateItemForUser.Input.Headers = .init(), + body: Operations.ProjectsUpdateItemForUser.Input.Body + ) async throws -> Operations.ProjectsUpdateItemForUser.Output { + try await projectsUpdateItemForUser(Operations.ProjectsUpdateItemForUser.Input( + path: path, + headers: headers, + body: body + )) + } + /// Delete project item for user + /// + /// Delete a specific item from a user-owned project. + /// + /// - Remark: HTTP `DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)`. + public func projectsDeleteItemForUser( + path: Operations.ProjectsDeleteItemForUser.Input.Path, + headers: Operations.ProjectsDeleteItemForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsDeleteItemForUser.Output { + try await projectsDeleteItemForUser(Operations.ProjectsDeleteItemForUser.Input( + path: path, + headers: headers + )) + } + /// List projects for user + /// + /// List all projects owned by a specific user accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{username}/projectsV2`. + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)`. + public func projectsListForUser( + path: Operations.ProjectsListForUser.Input.Path, + query: Operations.ProjectsListForUser.Input.Query = .init(), + headers: Operations.ProjectsListForUser.Input.Headers = .init() + ) async throws -> Operations.ProjectsListForUser.Output { + try await projectsListForUser(Operations.ProjectsListForUser.Input( + path: path, + query: query, + headers: headers + )) + } } /// Server URLs defined in the OpenAPI document. @@ -38,16 +459,9047 @@ public enum Servers { /// Types generated from the components section of the OpenAPI document. public enum Components { /// Types generated from the `#/components/schemas` section of the OpenAPI document. - public enum Schemas {} + public enum Schemas { + /// A GitHub user. + /// + /// - Remark: Generated from `#/components/schemas/simple-user`. + public struct SimpleUser: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/simple-user/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/simple-user/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/simple-user/login`. + public var login: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/simple-user/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/avatar_url`. + public var avatarUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/simple-user/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/followers_url`. + public var followersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/following_url`. + public var followingUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/gists_url`. + public var gistsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/starred_url`. + public var starredUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/subscriptions_url`. + public var subscriptionsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/organizations_url`. + public var organizationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/repos_url`. + public var reposUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/received_events_url`. + public var receivedEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/type`. + public var _type: Swift.String + /// - Remark: Generated from `#/components/schemas/simple-user/site_admin`. + public var siteAdmin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/simple-user/starred_at`. + public var starredAt: Swift.String? + /// - Remark: Generated from `#/components/schemas/simple-user/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `SimpleUser`. + /// + /// - Parameters: + /// - name: + /// - email: + /// - login: + /// - id: + /// - nodeId: + /// - avatarUrl: + /// - gravatarId: + /// - url: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - reposUrl: + /// - eventsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - starredAt: + /// - userViewType: + public init( + name: Swift.String? = nil, + email: Swift.String? = nil, + login: Swift.String, + id: Swift.Int64, + nodeId: Swift.String, + avatarUrl: Swift.String, + gravatarId: Swift.String? = nil, + url: Swift.String, + htmlUrl: Swift.String, + followersUrl: Swift.String, + followingUrl: Swift.String, + gistsUrl: Swift.String, + starredUrl: Swift.String, + subscriptionsUrl: Swift.String, + organizationsUrl: Swift.String, + reposUrl: Swift.String, + eventsUrl: Swift.String, + receivedEventsUrl: Swift.String, + _type: Swift.String, + siteAdmin: Swift.Bool, + starredAt: Swift.String? = nil, + userViewType: Swift.String? = nil + ) { + self.name = name + self.email = email + self.login = login + self.id = id + self.nodeId = nodeId + self.avatarUrl = avatarUrl + self.gravatarId = gravatarId + self.url = url + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.starredAt = starredAt + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case name + case email + case login + case id + case nodeId = "node_id" + case avatarUrl = "avatar_url" + case gravatarId = "gravatar_id" + case url + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case starredAt = "starred_at" + case userViewType = "user_view_type" + } + } + /// Basic Error + /// + /// - Remark: Generated from `#/components/schemas/basic-error`. + public struct BasicError: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/basic-error/message`. + public var message: Swift.String? + /// - Remark: Generated from `#/components/schemas/basic-error/documentation_url`. + public var documentationUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/basic-error/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/basic-error/status`. + public var status: Swift.String? + /// Creates a new `BasicError`. + /// + /// - Parameters: + /// - message: + /// - documentationUrl: + /// - url: + /// - status: + public init( + message: Swift.String? = nil, + documentationUrl: Swift.String? = nil, + url: Swift.String? = nil, + status: Swift.String? = nil + ) { + self.message = message + self.documentationUrl = documentationUrl + self.url = url + self.status = status + } + public enum CodingKeys: String, CodingKey { + case message + case documentationUrl = "documentation_url" + case url + case status + } + } + /// An enterprise on GitHub. + /// + /// - Remark: Generated from `#/components/schemas/enterprise`. + public struct Enterprise: Codable, Hashable, Sendable { + /// A short description of the enterprise. + /// + /// - Remark: Generated from `#/components/schemas/enterprise/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/enterprise/html_url`. + public var htmlUrl: Swift.String + /// The enterprise's website URL. + /// + /// - Remark: Generated from `#/components/schemas/enterprise/website_url`. + public var websiteUrl: Swift.String? + /// Unique identifier of the enterprise + /// + /// - Remark: Generated from `#/components/schemas/enterprise/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/enterprise/node_id`. + public var nodeId: Swift.String + /// The name of the enterprise. + /// + /// - Remark: Generated from `#/components/schemas/enterprise/name`. + public var name: Swift.String + /// The slug url identifier for the enterprise. + /// + /// - Remark: Generated from `#/components/schemas/enterprise/slug`. + public var slug: Swift.String + /// - Remark: Generated from `#/components/schemas/enterprise/created_at`. + public var createdAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/enterprise/updated_at`. + public var updatedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/enterprise/avatar_url`. + public var avatarUrl: Swift.String + /// Creates a new `Enterprise`. + /// + /// - Parameters: + /// - description: A short description of the enterprise. + /// - htmlUrl: + /// - websiteUrl: The enterprise's website URL. + /// - id: Unique identifier of the enterprise + /// - nodeId: + /// - name: The name of the enterprise. + /// - slug: The slug url identifier for the enterprise. + /// - createdAt: + /// - updatedAt: + /// - avatarUrl: + public init( + description: Swift.String? = nil, + htmlUrl: Swift.String, + websiteUrl: Swift.String? = nil, + id: Swift.Int, + nodeId: Swift.String, + name: Swift.String, + slug: Swift.String, + createdAt: Foundation.Date? = nil, + updatedAt: Foundation.Date? = nil, + avatarUrl: Swift.String + ) { + self.description = description + self.htmlUrl = htmlUrl + self.websiteUrl = websiteUrl + self.id = id + self.nodeId = nodeId + self.name = name + self.slug = slug + self.createdAt = createdAt + self.updatedAt = updatedAt + self.avatarUrl = avatarUrl + } + public enum CodingKeys: String, CodingKey { + case description + case htmlUrl = "html_url" + case websiteUrl = "website_url" + case id + case nodeId = "node_id" + case name + case slug + case createdAt = "created_at" + case updatedAt = "updated_at" + case avatarUrl = "avatar_url" + } + } + /// Validation Error + /// + /// - Remark: Generated from `#/components/schemas/validation-error`. + public struct ValidationError: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/validation-error/message`. + public var message: Swift.String + /// - Remark: Generated from `#/components/schemas/validation-error/documentation_url`. + public var documentationUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload`. + public struct ErrorsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/resource`. + public var resource: Swift.String? + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/field`. + public var field: Swift.String? + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/message`. + public var message: Swift.String? + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/code`. + public var code: Swift.String + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/index`. + public var index: Swift.Int? + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/value`. + @frozen public enum ValuePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/value/case1`. + case case1(Swift.String?) + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/value/case2`. + case case2(Swift.Int?) + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/value/case3`. + case case3([Swift.String]?) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case2(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case3(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try encoder.encodeToSingleValueContainer(value) + case let .case2(value): + try encoder.encodeToSingleValueContainer(value) + case let .case3(value): + try encoder.encodeToSingleValueContainer(value) + } + } + } + /// - Remark: Generated from `#/components/schemas/validation-error/ErrorsPayload/value`. + public var value: Components.Schemas.ValidationError.ErrorsPayloadPayload.ValuePayload? + /// Creates a new `ErrorsPayloadPayload`. + /// + /// - Parameters: + /// - resource: + /// - field: + /// - message: + /// - code: + /// - index: + /// - value: + public init( + resource: Swift.String? = nil, + field: Swift.String? = nil, + message: Swift.String? = nil, + code: Swift.String, + index: Swift.Int? = nil, + value: Components.Schemas.ValidationError.ErrorsPayloadPayload.ValuePayload? = nil + ) { + self.resource = resource + self.field = field + self.message = message + self.code = code + self.index = index + self.value = value + } + public enum CodingKeys: String, CodingKey { + case resource + case field + case message + case code + case index + case value + } + } + /// - Remark: Generated from `#/components/schemas/validation-error/errors`. + public typealias ErrorsPayload = [Components.Schemas.ValidationError.ErrorsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/validation-error/errors`. + public var errors: Components.Schemas.ValidationError.ErrorsPayload? + /// Creates a new `ValidationError`. + /// + /// - Parameters: + /// - message: + /// - documentationUrl: + /// - errors: + public init( + message: Swift.String, + documentationUrl: Swift.String, + errors: Components.Schemas.ValidationError.ErrorsPayload? = nil + ) { + self.message = message + self.documentationUrl = documentationUrl + self.errors = errors + } + public enum CodingKeys: String, CodingKey { + case message + case documentationUrl = "documentation_url" + case errors + } + } + /// A GitHub user. + /// + /// - Remark: Generated from `#/components/schemas/nullable-simple-user`. + public struct NullableSimpleUser: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/email`. + public var email: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/login`. + public var login: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/avatar_url`. + public var avatarUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/gravatar_id`. + public var gravatarId: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/followers_url`. + public var followersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/following_url`. + public var followingUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/gists_url`. + public var gistsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/starred_url`. + public var starredUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/subscriptions_url`. + public var subscriptionsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/organizations_url`. + public var organizationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/repos_url`. + public var reposUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/received_events_url`. + public var receivedEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/type`. + public var _type: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/site_admin`. + public var siteAdmin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/starred_at`. + public var starredAt: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-simple-user/user_view_type`. + public var userViewType: Swift.String? + /// Creates a new `NullableSimpleUser`. + /// + /// - Parameters: + /// - name: + /// - email: + /// - login: + /// - id: + /// - nodeId: + /// - avatarUrl: + /// - gravatarId: + /// - url: + /// - htmlUrl: + /// - followersUrl: + /// - followingUrl: + /// - gistsUrl: + /// - starredUrl: + /// - subscriptionsUrl: + /// - organizationsUrl: + /// - reposUrl: + /// - eventsUrl: + /// - receivedEventsUrl: + /// - _type: + /// - siteAdmin: + /// - starredAt: + /// - userViewType: + public init( + name: Swift.String? = nil, + email: Swift.String? = nil, + login: Swift.String, + id: Swift.Int64, + nodeId: Swift.String, + avatarUrl: Swift.String, + gravatarId: Swift.String? = nil, + url: Swift.String, + htmlUrl: Swift.String, + followersUrl: Swift.String, + followingUrl: Swift.String, + gistsUrl: Swift.String, + starredUrl: Swift.String, + subscriptionsUrl: Swift.String, + organizationsUrl: Swift.String, + reposUrl: Swift.String, + eventsUrl: Swift.String, + receivedEventsUrl: Swift.String, + _type: Swift.String, + siteAdmin: Swift.Bool, + starredAt: Swift.String? = nil, + userViewType: Swift.String? = nil + ) { + self.name = name + self.email = email + self.login = login + self.id = id + self.nodeId = nodeId + self.avatarUrl = avatarUrl + self.gravatarId = gravatarId + self.url = url + self.htmlUrl = htmlUrl + self.followersUrl = followersUrl + self.followingUrl = followingUrl + self.gistsUrl = gistsUrl + self.starredUrl = starredUrl + self.subscriptionsUrl = subscriptionsUrl + self.organizationsUrl = organizationsUrl + self.reposUrl = reposUrl + self.eventsUrl = eventsUrl + self.receivedEventsUrl = receivedEventsUrl + self._type = _type + self.siteAdmin = siteAdmin + self.starredAt = starredAt + self.userViewType = userViewType + } + public enum CodingKeys: String, CodingKey { + case name + case email + case login + case id + case nodeId = "node_id" + case avatarUrl = "avatar_url" + case gravatarId = "gravatar_id" + case url + case htmlUrl = "html_url" + case followersUrl = "followers_url" + case followingUrl = "following_url" + case gistsUrl = "gists_url" + case starredUrl = "starred_url" + case subscriptionsUrl = "subscriptions_url" + case organizationsUrl = "organizations_url" + case reposUrl = "repos_url" + case eventsUrl = "events_url" + case receivedEventsUrl = "received_events_url" + case _type = "type" + case siteAdmin = "site_admin" + case starredAt = "starred_at" + case userViewType = "user_view_type" + } + } + /// License Simple + /// + /// - Remark: Generated from `#/components/schemas/nullable-license-simple`. + public struct NullableLicenseSimple: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/key`. + public var key: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/spdx_id`. + public var spdxId: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-license-simple/html_url`. + public var htmlUrl: Swift.String? + /// Creates a new `NullableLicenseSimple`. + /// + /// - Parameters: + /// - key: + /// - name: + /// - url: + /// - spdxId: + /// - nodeId: + /// - htmlUrl: + public init( + key: Swift.String, + name: Swift.String, + url: Swift.String? = nil, + spdxId: Swift.String? = nil, + nodeId: Swift.String, + htmlUrl: Swift.String? = nil + ) { + self.key = key + self.name = name + self.url = url + self.spdxId = spdxId + self.nodeId = nodeId + self.htmlUrl = htmlUrl + } + public enum CodingKeys: String, CodingKey { + case key + case name + case url + case spdxId = "spdx_id" + case nodeId = "node_id" + case htmlUrl = "html_url" + } + } + /// A repository on GitHub. + /// + /// - Remark: Generated from `#/components/schemas/repository`. + public struct Repository: Codable, Hashable, Sendable { + /// Unique identifier of the repository + /// + /// - Remark: Generated from `#/components/schemas/repository/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/repository/node_id`. + public var nodeId: Swift.String + /// The name of the repository. + /// + /// - Remark: Generated from `#/components/schemas/repository/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/full_name`. + public var fullName: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/license`. + public var license: Components.Schemas.NullableLicenseSimple? + /// - Remark: Generated from `#/components/schemas/repository/forks`. + public var forks: Swift.Int + /// - Remark: Generated from `#/components/schemas/repository/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository/permissions/admin`. + public var admin: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/permissions/pull`. + public var pull: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/permissions/triage`. + public var triage: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/repository/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/permissions/maintain`. + public var maintain: Swift.Bool? + /// Creates a new `PermissionsPayload`. + /// + /// - Parameters: + /// - admin: + /// - pull: + /// - triage: + /// - push: + /// - maintain: + public init( + admin: Swift.Bool, + pull: Swift.Bool, + triage: Swift.Bool? = nil, + push: Swift.Bool, + maintain: Swift.Bool? = nil + ) { + self.admin = admin + self.pull = pull + self.triage = triage + self.push = push + self.maintain = maintain + } + public enum CodingKeys: String, CodingKey { + case admin + case pull + case triage + case push + case maintain + } + } + /// - Remark: Generated from `#/components/schemas/repository/permissions`. + public var permissions: Components.Schemas.Repository.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/repository/owner`. + public var owner: Components.Schemas.SimpleUser + /// Whether the repository is private or public. + /// + /// - Remark: Generated from `#/components/schemas/repository/private`. + public var _private: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/fork`. + public var fork: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/archive_url`. + public var archiveUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/assignees_url`. + public var assigneesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/blobs_url`. + public var blobsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/branches_url`. + public var branchesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/collaborators_url`. + public var collaboratorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/compare_url`. + public var compareUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/contents_url`. + public var contentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/contributors_url`. + public var contributorsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/deployments_url`. + public var deploymentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/downloads_url`. + public var downloadsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/forks_url`. + public var forksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/git_commits_url`. + public var gitCommitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/git_refs_url`. + public var gitRefsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/git_tags_url`. + public var gitTagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/git_url`. + public var gitUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/issue_comment_url`. + public var issueCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/issue_events_url`. + public var issueEventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/issues_url`. + public var issuesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/keys_url`. + public var keysUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/labels_url`. + public var labelsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/languages_url`. + public var languagesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/merges_url`. + public var mergesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/milestones_url`. + public var milestonesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/notifications_url`. + public var notificationsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/pulls_url`. + public var pullsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/releases_url`. + public var releasesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/ssh_url`. + public var sshUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/stargazers_url`. + public var stargazersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/subscribers_url`. + public var subscribersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/subscription_url`. + public var subscriptionUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/tags_url`. + public var tagsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/teams_url`. + public var teamsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/trees_url`. + public var treesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/clone_url`. + public var cloneUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/mirror_url`. + public var mirrorUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/hooks_url`. + public var hooksUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/svn_url`. + public var svnUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/homepage`. + public var homepage: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/language`. + public var language: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/forks_count`. + public var forksCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/repository/stargazers_count`. + public var stargazersCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/repository/watchers_count`. + public var watchersCount: Swift.Int + /// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + /// + /// - Remark: Generated from `#/components/schemas/repository/size`. + public var size: Swift.Int + /// The default branch of the repository. + /// + /// - Remark: Generated from `#/components/schemas/repository/default_branch`. + public var defaultBranch: Swift.String + /// - Remark: Generated from `#/components/schemas/repository/open_issues_count`. + public var openIssuesCount: Swift.Int + /// Whether this repository acts as a template that can be used to generate new repositories. + /// + /// - Remark: Generated from `#/components/schemas/repository/is_template`. + public var isTemplate: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/repository/topics`. + public var topics: [Swift.String]? + /// Whether issues are enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/has_issues`. + public var hasIssues: Swift.Bool + /// Whether projects are enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/has_projects`. + public var hasProjects: Swift.Bool + /// Whether the wiki is enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/has_wiki`. + public var hasWiki: Swift.Bool + /// - Remark: Generated from `#/components/schemas/repository/has_pages`. + public var hasPages: Swift.Bool + /// Whether downloads are enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/has_downloads`. + @available(*, deprecated) + public var hasDownloads: Swift.Bool + /// Whether discussions are enabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/has_discussions`. + public var hasDiscussions: Swift.Bool? + /// Whether the repository is archived. + /// + /// - Remark: Generated from `#/components/schemas/repository/archived`. + public var archived: Swift.Bool + /// Returns whether or not this repository disabled. + /// + /// - Remark: Generated from `#/components/schemas/repository/disabled`. + public var disabled: Swift.Bool + /// The repository visibility: public, private, or internal. + /// + /// - Remark: Generated from `#/components/schemas/repository/visibility`. + public var visibility: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/pushed_at`. + public var pushedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/repository/created_at`. + public var createdAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/repository/updated_at`. + public var updatedAt: Foundation.Date? + /// Whether to allow rebase merges for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_rebase_merge`. + public var allowRebaseMerge: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/repository/temp_clone_token`. + public var tempCloneToken: Swift.String? + /// Whether to allow squash merges for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_squash_merge`. + public var allowSquashMerge: Swift.Bool? + /// Whether to allow Auto-merge to be used on pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_auto_merge`. + public var allowAutoMerge: Swift.Bool? + /// Whether to delete head branches when pull requests are merged + /// + /// - Remark: Generated from `#/components/schemas/repository/delete_branch_on_merge`. + public var deleteBranchOnMerge: Swift.Bool? + /// Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_update_branch`. + public var allowUpdateBranch: Swift.Bool? + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + /// - Remark: Generated from `#/components/schemas/repository/use_squash_pr_title_as_default`. + @available(*, deprecated) + public var useSquashPrTitleAsDefault: Swift.Bool? + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/repository/squash_merge_commit_title`. + @frozen public enum SquashMergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case commitOrPrTitle = "COMMIT_OR_PR_TITLE" + } + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + /// - Remark: Generated from `#/components/schemas/repository/squash_merge_commit_title`. + public var squashMergeCommitTitle: Components.Schemas.Repository.SquashMergeCommitTitlePayload? + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/repository/squash_merge_commit_message`. + @frozen public enum SquashMergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case commitMessages = "COMMIT_MESSAGES" + case blank = "BLANK" + } + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/repository/squash_merge_commit_message`. + public var squashMergeCommitMessage: Components.Schemas.Repository.SquashMergeCommitMessagePayload? + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/repository/merge_commit_title`. + @frozen public enum MergeCommitTitlePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prTitle = "PR_TITLE" + case mergeMessage = "MERGE_MESSAGE" + } + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + /// - Remark: Generated from `#/components/schemas/repository/merge_commit_title`. + public var mergeCommitTitle: Components.Schemas.Repository.MergeCommitTitlePayload? + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/repository/merge_commit_message`. + @frozen public enum MergeCommitMessagePayload: String, Codable, Hashable, Sendable, CaseIterable { + case prBody = "PR_BODY" + case prTitle = "PR_TITLE" + case blank = "BLANK" + } + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + /// - Remark: Generated from `#/components/schemas/repository/merge_commit_message`. + public var mergeCommitMessage: Components.Schemas.Repository.MergeCommitMessagePayload? + /// Whether to allow merge commits for pull requests. + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_merge_commit`. + public var allowMergeCommit: Swift.Bool? + /// Whether to allow forking this repo + /// + /// - Remark: Generated from `#/components/schemas/repository/allow_forking`. + public var allowForking: Swift.Bool? + /// Whether to require contributors to sign off on web-based commits + /// + /// - Remark: Generated from `#/components/schemas/repository/web_commit_signoff_required`. + public var webCommitSignoffRequired: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/repository/open_issues`. + public var openIssues: Swift.Int + /// - Remark: Generated from `#/components/schemas/repository/watchers`. + public var watchers: Swift.Int + /// - Remark: Generated from `#/components/schemas/repository/master_branch`. + public var masterBranch: Swift.String? + /// - Remark: Generated from `#/components/schemas/repository/starred_at`. + public var starredAt: Swift.String? + /// Whether anonymous git access is enabled for this repository + /// + /// - Remark: Generated from `#/components/schemas/repository/anonymous_access_enabled`. + public var anonymousAccessEnabled: Swift.Bool? + /// The status of the code search index for this repository + /// + /// - Remark: Generated from `#/components/schemas/repository/code_search_index_status`. + public struct CodeSearchIndexStatusPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/repository/code_search_index_status/lexical_search_ok`. + public var lexicalSearchOk: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/repository/code_search_index_status/lexical_commit_sha`. + public var lexicalCommitSha: Swift.String? + /// Creates a new `CodeSearchIndexStatusPayload`. + /// + /// - Parameters: + /// - lexicalSearchOk: + /// - lexicalCommitSha: + public init( + lexicalSearchOk: Swift.Bool? = nil, + lexicalCommitSha: Swift.String? = nil + ) { + self.lexicalSearchOk = lexicalSearchOk + self.lexicalCommitSha = lexicalCommitSha + } + public enum CodingKeys: String, CodingKey { + case lexicalSearchOk = "lexical_search_ok" + case lexicalCommitSha = "lexical_commit_sha" + } + } + /// The status of the code search index for this repository + /// + /// - Remark: Generated from `#/components/schemas/repository/code_search_index_status`. + public var codeSearchIndexStatus: Components.Schemas.Repository.CodeSearchIndexStatusPayload? + /// Creates a new `Repository`. + /// + /// - Parameters: + /// - id: Unique identifier of the repository + /// - nodeId: + /// - name: The name of the repository. + /// - fullName: + /// - license: + /// - forks: + /// - permissions: + /// - owner: + /// - _private: Whether the repository is private or public. + /// - htmlUrl: + /// - description: + /// - fork: + /// - url: + /// - archiveUrl: + /// - assigneesUrl: + /// - blobsUrl: + /// - branchesUrl: + /// - collaboratorsUrl: + /// - commentsUrl: + /// - commitsUrl: + /// - compareUrl: + /// - contentsUrl: + /// - contributorsUrl: + /// - deploymentsUrl: + /// - downloadsUrl: + /// - eventsUrl: + /// - forksUrl: + /// - gitCommitsUrl: + /// - gitRefsUrl: + /// - gitTagsUrl: + /// - gitUrl: + /// - issueCommentUrl: + /// - issueEventsUrl: + /// - issuesUrl: + /// - keysUrl: + /// - labelsUrl: + /// - languagesUrl: + /// - mergesUrl: + /// - milestonesUrl: + /// - notificationsUrl: + /// - pullsUrl: + /// - releasesUrl: + /// - sshUrl: + /// - stargazersUrl: + /// - statusesUrl: + /// - subscribersUrl: + /// - subscriptionUrl: + /// - tagsUrl: + /// - teamsUrl: + /// - treesUrl: + /// - cloneUrl: + /// - mirrorUrl: + /// - hooksUrl: + /// - svnUrl: + /// - homepage: + /// - language: + /// - forksCount: + /// - stargazersCount: + /// - watchersCount: + /// - size: The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + /// - defaultBranch: The default branch of the repository. + /// - openIssuesCount: + /// - isTemplate: Whether this repository acts as a template that can be used to generate new repositories. + /// - topics: + /// - hasIssues: Whether issues are enabled. + /// - hasProjects: Whether projects are enabled. + /// - hasWiki: Whether the wiki is enabled. + /// - hasPages: + /// - hasDownloads: Whether downloads are enabled. + /// - hasDiscussions: Whether discussions are enabled. + /// - archived: Whether the repository is archived. + /// - disabled: Returns whether or not this repository disabled. + /// - visibility: The repository visibility: public, private, or internal. + /// - pushedAt: + /// - createdAt: + /// - updatedAt: + /// - allowRebaseMerge: Whether to allow rebase merges for pull requests. + /// - tempCloneToken: + /// - allowSquashMerge: Whether to allow squash merges for pull requests. + /// - allowAutoMerge: Whether to allow Auto-merge to be used on pull requests. + /// - deleteBranchOnMerge: Whether to delete head branches when pull requests are merged + /// - allowUpdateBranch: Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + /// - useSquashPrTitleAsDefault: Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// - squashMergeCommitTitle: The default value for a squash merge commit title: + /// - squashMergeCommitMessage: The default value for a squash merge commit message: + /// - mergeCommitTitle: The default value for a merge commit title. + /// - mergeCommitMessage: The default value for a merge commit message. + /// - allowMergeCommit: Whether to allow merge commits for pull requests. + /// - allowForking: Whether to allow forking this repo + /// - webCommitSignoffRequired: Whether to require contributors to sign off on web-based commits + /// - openIssues: + /// - watchers: + /// - masterBranch: + /// - starredAt: + /// - anonymousAccessEnabled: Whether anonymous git access is enabled for this repository + /// - codeSearchIndexStatus: The status of the code search index for this repository + public init( + id: Swift.Int64, + nodeId: Swift.String, + name: Swift.String, + fullName: Swift.String, + license: Components.Schemas.NullableLicenseSimple? = nil, + forks: Swift.Int, + permissions: Components.Schemas.Repository.PermissionsPayload? = nil, + owner: Components.Schemas.SimpleUser, + _private: Swift.Bool, + htmlUrl: Swift.String, + description: Swift.String? = nil, + fork: Swift.Bool, + url: Swift.String, + archiveUrl: Swift.String, + assigneesUrl: Swift.String, + blobsUrl: Swift.String, + branchesUrl: Swift.String, + collaboratorsUrl: Swift.String, + commentsUrl: Swift.String, + commitsUrl: Swift.String, + compareUrl: Swift.String, + contentsUrl: Swift.String, + contributorsUrl: Swift.String, + deploymentsUrl: Swift.String, + downloadsUrl: Swift.String, + eventsUrl: Swift.String, + forksUrl: Swift.String, + gitCommitsUrl: Swift.String, + gitRefsUrl: Swift.String, + gitTagsUrl: Swift.String, + gitUrl: Swift.String, + issueCommentUrl: Swift.String, + issueEventsUrl: Swift.String, + issuesUrl: Swift.String, + keysUrl: Swift.String, + labelsUrl: Swift.String, + languagesUrl: Swift.String, + mergesUrl: Swift.String, + milestonesUrl: Swift.String, + notificationsUrl: Swift.String, + pullsUrl: Swift.String, + releasesUrl: Swift.String, + sshUrl: Swift.String, + stargazersUrl: Swift.String, + statusesUrl: Swift.String, + subscribersUrl: Swift.String, + subscriptionUrl: Swift.String, + tagsUrl: Swift.String, + teamsUrl: Swift.String, + treesUrl: Swift.String, + cloneUrl: Swift.String, + mirrorUrl: Swift.String? = nil, + hooksUrl: Swift.String, + svnUrl: Swift.String, + homepage: Swift.String? = nil, + language: Swift.String? = nil, + forksCount: Swift.Int, + stargazersCount: Swift.Int, + watchersCount: Swift.Int, + size: Swift.Int, + defaultBranch: Swift.String, + openIssuesCount: Swift.Int, + isTemplate: Swift.Bool? = nil, + topics: [Swift.String]? = nil, + hasIssues: Swift.Bool, + hasProjects: Swift.Bool, + hasWiki: Swift.Bool, + hasPages: Swift.Bool, + hasDownloads: Swift.Bool, + hasDiscussions: Swift.Bool? = nil, + archived: Swift.Bool, + disabled: Swift.Bool, + visibility: Swift.String? = nil, + pushedAt: Foundation.Date? = nil, + createdAt: Foundation.Date? = nil, + updatedAt: Foundation.Date? = nil, + allowRebaseMerge: Swift.Bool? = nil, + tempCloneToken: Swift.String? = nil, + allowSquashMerge: Swift.Bool? = nil, + allowAutoMerge: Swift.Bool? = nil, + deleteBranchOnMerge: Swift.Bool? = nil, + allowUpdateBranch: Swift.Bool? = nil, + useSquashPrTitleAsDefault: Swift.Bool? = nil, + squashMergeCommitTitle: Components.Schemas.Repository.SquashMergeCommitTitlePayload? = nil, + squashMergeCommitMessage: Components.Schemas.Repository.SquashMergeCommitMessagePayload? = nil, + mergeCommitTitle: Components.Schemas.Repository.MergeCommitTitlePayload? = nil, + mergeCommitMessage: Components.Schemas.Repository.MergeCommitMessagePayload? = nil, + allowMergeCommit: Swift.Bool? = nil, + allowForking: Swift.Bool? = nil, + webCommitSignoffRequired: Swift.Bool? = nil, + openIssues: Swift.Int, + watchers: Swift.Int, + masterBranch: Swift.String? = nil, + starredAt: Swift.String? = nil, + anonymousAccessEnabled: Swift.Bool? = nil, + codeSearchIndexStatus: Components.Schemas.Repository.CodeSearchIndexStatusPayload? = nil + ) { + self.id = id + self.nodeId = nodeId + self.name = name + self.fullName = fullName + self.license = license + self.forks = forks + self.permissions = permissions + self.owner = owner + self._private = _private + self.htmlUrl = htmlUrl + self.description = description + self.fork = fork + self.url = url + self.archiveUrl = archiveUrl + self.assigneesUrl = assigneesUrl + self.blobsUrl = blobsUrl + self.branchesUrl = branchesUrl + self.collaboratorsUrl = collaboratorsUrl + self.commentsUrl = commentsUrl + self.commitsUrl = commitsUrl + self.compareUrl = compareUrl + self.contentsUrl = contentsUrl + self.contributorsUrl = contributorsUrl + self.deploymentsUrl = deploymentsUrl + self.downloadsUrl = downloadsUrl + self.eventsUrl = eventsUrl + self.forksUrl = forksUrl + self.gitCommitsUrl = gitCommitsUrl + self.gitRefsUrl = gitRefsUrl + self.gitTagsUrl = gitTagsUrl + self.gitUrl = gitUrl + self.issueCommentUrl = issueCommentUrl + self.issueEventsUrl = issueEventsUrl + self.issuesUrl = issuesUrl + self.keysUrl = keysUrl + self.labelsUrl = labelsUrl + self.languagesUrl = languagesUrl + self.mergesUrl = mergesUrl + self.milestonesUrl = milestonesUrl + self.notificationsUrl = notificationsUrl + self.pullsUrl = pullsUrl + self.releasesUrl = releasesUrl + self.sshUrl = sshUrl + self.stargazersUrl = stargazersUrl + self.statusesUrl = statusesUrl + self.subscribersUrl = subscribersUrl + self.subscriptionUrl = subscriptionUrl + self.tagsUrl = tagsUrl + self.teamsUrl = teamsUrl + self.treesUrl = treesUrl + self.cloneUrl = cloneUrl + self.mirrorUrl = mirrorUrl + self.hooksUrl = hooksUrl + self.svnUrl = svnUrl + self.homepage = homepage + self.language = language + self.forksCount = forksCount + self.stargazersCount = stargazersCount + self.watchersCount = watchersCount + self.size = size + self.defaultBranch = defaultBranch + self.openIssuesCount = openIssuesCount + self.isTemplate = isTemplate + self.topics = topics + self.hasIssues = hasIssues + self.hasProjects = hasProjects + self.hasWiki = hasWiki + self.hasPages = hasPages + self.hasDownloads = hasDownloads + self.hasDiscussions = hasDiscussions + self.archived = archived + self.disabled = disabled + self.visibility = visibility + self.pushedAt = pushedAt + self.createdAt = createdAt + self.updatedAt = updatedAt + self.allowRebaseMerge = allowRebaseMerge + self.tempCloneToken = tempCloneToken + self.allowSquashMerge = allowSquashMerge + self.allowAutoMerge = allowAutoMerge + self.deleteBranchOnMerge = deleteBranchOnMerge + self.allowUpdateBranch = allowUpdateBranch + self.useSquashPrTitleAsDefault = useSquashPrTitleAsDefault + self.squashMergeCommitTitle = squashMergeCommitTitle + self.squashMergeCommitMessage = squashMergeCommitMessage + self.mergeCommitTitle = mergeCommitTitle + self.mergeCommitMessage = mergeCommitMessage + self.allowMergeCommit = allowMergeCommit + self.allowForking = allowForking + self.webCommitSignoffRequired = webCommitSignoffRequired + self.openIssues = openIssues + self.watchers = watchers + self.masterBranch = masterBranch + self.starredAt = starredAt + self.anonymousAccessEnabled = anonymousAccessEnabled + self.codeSearchIndexStatus = codeSearchIndexStatus + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case name + case fullName = "full_name" + case license + case forks + case permissions + case owner + case _private = "private" + case htmlUrl = "html_url" + case description + case fork + case url + case archiveUrl = "archive_url" + case assigneesUrl = "assignees_url" + case blobsUrl = "blobs_url" + case branchesUrl = "branches_url" + case collaboratorsUrl = "collaborators_url" + case commentsUrl = "comments_url" + case commitsUrl = "commits_url" + case compareUrl = "compare_url" + case contentsUrl = "contents_url" + case contributorsUrl = "contributors_url" + case deploymentsUrl = "deployments_url" + case downloadsUrl = "downloads_url" + case eventsUrl = "events_url" + case forksUrl = "forks_url" + case gitCommitsUrl = "git_commits_url" + case gitRefsUrl = "git_refs_url" + case gitTagsUrl = "git_tags_url" + case gitUrl = "git_url" + case issueCommentUrl = "issue_comment_url" + case issueEventsUrl = "issue_events_url" + case issuesUrl = "issues_url" + case keysUrl = "keys_url" + case labelsUrl = "labels_url" + case languagesUrl = "languages_url" + case mergesUrl = "merges_url" + case milestonesUrl = "milestones_url" + case notificationsUrl = "notifications_url" + case pullsUrl = "pulls_url" + case releasesUrl = "releases_url" + case sshUrl = "ssh_url" + case stargazersUrl = "stargazers_url" + case statusesUrl = "statuses_url" + case subscribersUrl = "subscribers_url" + case subscriptionUrl = "subscription_url" + case tagsUrl = "tags_url" + case teamsUrl = "teams_url" + case treesUrl = "trees_url" + case cloneUrl = "clone_url" + case mirrorUrl = "mirror_url" + case hooksUrl = "hooks_url" + case svnUrl = "svn_url" + case homepage + case language + case forksCount = "forks_count" + case stargazersCount = "stargazers_count" + case watchersCount = "watchers_count" + case size + case defaultBranch = "default_branch" + case openIssuesCount = "open_issues_count" + case isTemplate = "is_template" + case topics + case hasIssues = "has_issues" + case hasProjects = "has_projects" + case hasWiki = "has_wiki" + case hasPages = "has_pages" + case hasDownloads = "has_downloads" + case hasDiscussions = "has_discussions" + case archived + case disabled + case visibility + case pushedAt = "pushed_at" + case createdAt = "created_at" + case updatedAt = "updated_at" + case allowRebaseMerge = "allow_rebase_merge" + case tempCloneToken = "temp_clone_token" + case allowSquashMerge = "allow_squash_merge" + case allowAutoMerge = "allow_auto_merge" + case deleteBranchOnMerge = "delete_branch_on_merge" + case allowUpdateBranch = "allow_update_branch" + case useSquashPrTitleAsDefault = "use_squash_pr_title_as_default" + case squashMergeCommitTitle = "squash_merge_commit_title" + case squashMergeCommitMessage = "squash_merge_commit_message" + case mergeCommitTitle = "merge_commit_title" + case mergeCommitMessage = "merge_commit_message" + case allowMergeCommit = "allow_merge_commit" + case allowForking = "allow_forking" + case webCommitSignoffRequired = "web_commit_signoff_required" + case openIssues = "open_issues" + case watchers + case masterBranch = "master_branch" + case starredAt = "starred_at" + case anonymousAccessEnabled = "anonymous_access_enabled" + case codeSearchIndexStatus = "code_search_index_status" + } + } + /// A collection of related issues and pull requests. + /// + /// - Remark: Generated from `#/components/schemas/nullable-milestone`. + public struct NullableMilestone: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-milestone/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-milestone/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-milestone/labels_url`. + public var labelsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-milestone/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-milestone/node_id`. + public var nodeId: Swift.String + /// The number of the milestone. + /// + /// - Remark: Generated from `#/components/schemas/nullable-milestone/number`. + public var number: Swift.Int + /// The state of the milestone. + /// + /// - Remark: Generated from `#/components/schemas/nullable-milestone/state`. + @frozen public enum StatePayload: String, Codable, Hashable, Sendable, CaseIterable { + case open = "open" + case closed = "closed" + } + /// The state of the milestone. + /// + /// - Remark: Generated from `#/components/schemas/nullable-milestone/state`. + public var state: Components.Schemas.NullableMilestone.StatePayload + /// The title of the milestone. + /// + /// - Remark: Generated from `#/components/schemas/nullable-milestone/title`. + public var title: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-milestone/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-milestone/creator`. + public var creator: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/nullable-milestone/open_issues`. + public var openIssues: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-milestone/closed_issues`. + public var closedIssues: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-milestone/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/nullable-milestone/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/nullable-milestone/closed_at`. + public var closedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/nullable-milestone/due_on`. + public var dueOn: Foundation.Date? + /// Creates a new `NullableMilestone`. + /// + /// - Parameters: + /// - url: + /// - htmlUrl: + /// - labelsUrl: + /// - id: + /// - nodeId: + /// - number: The number of the milestone. + /// - state: The state of the milestone. + /// - title: The title of the milestone. + /// - description: + /// - creator: + /// - openIssues: + /// - closedIssues: + /// - createdAt: + /// - updatedAt: + /// - closedAt: + /// - dueOn: + public init( + url: Swift.String, + htmlUrl: Swift.String, + labelsUrl: Swift.String, + id: Swift.Int, + nodeId: Swift.String, + number: Swift.Int, + state: Components.Schemas.NullableMilestone.StatePayload, + title: Swift.String, + description: Swift.String? = nil, + creator: Components.Schemas.NullableSimpleUser? = nil, + openIssues: Swift.Int, + closedIssues: Swift.Int, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + closedAt: Foundation.Date? = nil, + dueOn: Foundation.Date? = nil + ) { + self.url = url + self.htmlUrl = htmlUrl + self.labelsUrl = labelsUrl + self.id = id + self.nodeId = nodeId + self.number = number + self.state = state + self.title = title + self.description = description + self.creator = creator + self.openIssues = openIssues + self.closedIssues = closedIssues + self.createdAt = createdAt + self.updatedAt = updatedAt + self.closedAt = closedAt + self.dueOn = dueOn + } + public enum CodingKeys: String, CodingKey { + case url + case htmlUrl = "html_url" + case labelsUrl = "labels_url" + case id + case nodeId = "node_id" + case number + case state + case title + case description + case creator + case openIssues = "open_issues" + case closedIssues = "closed_issues" + case createdAt = "created_at" + case updatedAt = "updated_at" + case closedAt = "closed_at" + case dueOn = "due_on" + } + } + /// The type of issue. + /// + /// - Remark: Generated from `#/components/schemas/issue-type`. + public struct IssueType: Codable, Hashable, Sendable { + /// The unique identifier of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/id`. + public var id: Swift.Int + /// The node identifier of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/node_id`. + public var nodeId: Swift.String + /// The name of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/name`. + public var name: Swift.String + /// The description of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/description`. + public var description: Swift.String? + /// The color of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/color`. + @frozen public enum ColorPayload: String, Codable, Hashable, Sendable, CaseIterable { + case gray = "gray" + case blue = "blue" + case green = "green" + case yellow = "yellow" + case orange = "orange" + case red = "red" + case pink = "pink" + case purple = "purple" + } + /// The color of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/color`. + public var color: Components.Schemas.IssueType.ColorPayload? + /// The time the issue type created. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/created_at`. + public var createdAt: Foundation.Date? + /// The time the issue type last updated. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/updated_at`. + public var updatedAt: Foundation.Date? + /// The enabled state of the issue type. + /// + /// - Remark: Generated from `#/components/schemas/issue-type/is_enabled`. + public var isEnabled: Swift.Bool? + /// Creates a new `IssueType`. + /// + /// - Parameters: + /// - id: The unique identifier of the issue type. + /// - nodeId: The node identifier of the issue type. + /// - name: The name of the issue type. + /// - description: The description of the issue type. + /// - color: The color of the issue type. + /// - createdAt: The time the issue type created. + /// - updatedAt: The time the issue type last updated. + /// - isEnabled: The enabled state of the issue type. + public init( + id: Swift.Int, + nodeId: Swift.String, + name: Swift.String, + description: Swift.String? = nil, + color: Components.Schemas.IssueType.ColorPayload? = nil, + createdAt: Foundation.Date? = nil, + updatedAt: Foundation.Date? = nil, + isEnabled: Swift.Bool? = nil + ) { + self.id = id + self.nodeId = nodeId + self.name = name + self.description = description + self.color = color + self.createdAt = createdAt + self.updatedAt = updatedAt + self.isEnabled = isEnabled + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case name + case description + case color + case createdAt = "created_at" + case updatedAt = "updated_at" + case isEnabled = "is_enabled" + } + } + /// GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration`. + public struct NullableIntegration: Codable, Hashable, Sendable { + /// Unique identifier of the GitHub app + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/id`. + public var id: Swift.Int + /// The slug name of the GitHub app + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/slug`. + public var slug: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-integration/client_id`. + public var clientId: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/owner`. + @frozen public enum OwnerPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-integration/owner/case1`. + case SimpleUser(Components.Schemas.SimpleUser) + /// - Remark: Generated from `#/components/schemas/nullable-integration/owner/case2`. + case Enterprise(Components.Schemas.Enterprise) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .SimpleUser(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .Enterprise(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .SimpleUser(value): + try value.encode(to: encoder) + case let .Enterprise(value): + try value.encode(to: encoder) + } + } + } + /// - Remark: Generated from `#/components/schemas/nullable-integration/owner`. + public var owner: Components.Schemas.NullableIntegration.OwnerPayload + /// The name of the GitHub app + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-integration/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/external_url`. + public var externalUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-integration/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-integration/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/nullable-integration/updated_at`. + public var updatedAt: Foundation.Date + /// The set of permissions for the GitHub app + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions/issues`. + public var issues: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions/checks`. + public var checks: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions/metadata`. + public var metadata: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions/contents`. + public var contents: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions/deployments`. + public var deployments: Swift.String? + /// A container of undocumented properties. + public var additionalProperties: [String: Swift.String] + /// Creates a new `PermissionsPayload`. + /// + /// - Parameters: + /// - issues: + /// - checks: + /// - metadata: + /// - contents: + /// - deployments: + /// - additionalProperties: A container of undocumented properties. + public init( + issues: Swift.String? = nil, + checks: Swift.String? = nil, + metadata: Swift.String? = nil, + contents: Swift.String? = nil, + deployments: Swift.String? = nil, + additionalProperties: [String: Swift.String] = .init() + ) { + self.issues = issues + self.checks = checks + self.metadata = metadata + self.contents = contents + self.deployments = deployments + self.additionalProperties = additionalProperties + } + public enum CodingKeys: String, CodingKey { + case issues + case checks + case metadata + case contents + case deployments + } + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.issues = try container.decodeIfPresent( + Swift.String.self, + forKey: .issues + ) + self.checks = try container.decodeIfPresent( + Swift.String.self, + forKey: .checks + ) + self.metadata = try container.decodeIfPresent( + Swift.String.self, + forKey: .metadata + ) + self.contents = try container.decodeIfPresent( + Swift.String.self, + forKey: .contents + ) + self.deployments = try container.decodeIfPresent( + Swift.String.self, + forKey: .deployments + ) + additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: [ + "issues", + "checks", + "metadata", + "contents", + "deployments" + ]) + } + public func encode(to encoder: any Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encodeIfPresent( + self.issues, + forKey: .issues + ) + try container.encodeIfPresent( + self.checks, + forKey: .checks + ) + try container.encodeIfPresent( + self.metadata, + forKey: .metadata + ) + try container.encodeIfPresent( + self.contents, + forKey: .contents + ) + try container.encodeIfPresent( + self.deployments, + forKey: .deployments + ) + try encoder.encodeAdditionalProperties(additionalProperties) + } + } + /// The set of permissions for the GitHub app + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/permissions`. + public var permissions: Components.Schemas.NullableIntegration.PermissionsPayload + /// The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/events`. + public var events: [Swift.String] + /// The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + /// + /// - Remark: Generated from `#/components/schemas/nullable-integration/installations_count`. + public var installationsCount: Swift.Int? + /// Creates a new `NullableIntegration`. + /// + /// - Parameters: + /// - id: Unique identifier of the GitHub app + /// - slug: The slug name of the GitHub app + /// - nodeId: + /// - clientId: + /// - owner: + /// - name: The name of the GitHub app + /// - description: + /// - externalUrl: + /// - htmlUrl: + /// - createdAt: + /// - updatedAt: + /// - permissions: The set of permissions for the GitHub app + /// - events: The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + /// - installationsCount: The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + public init( + id: Swift.Int, + slug: Swift.String? = nil, + nodeId: Swift.String, + clientId: Swift.String? = nil, + owner: Components.Schemas.NullableIntegration.OwnerPayload, + name: Swift.String, + description: Swift.String? = nil, + externalUrl: Swift.String, + htmlUrl: Swift.String, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + permissions: Components.Schemas.NullableIntegration.PermissionsPayload, + events: [Swift.String], + installationsCount: Swift.Int? = nil + ) { + self.id = id + self.slug = slug + self.nodeId = nodeId + self.clientId = clientId + self.owner = owner + self.name = name + self.description = description + self.externalUrl = externalUrl + self.htmlUrl = htmlUrl + self.createdAt = createdAt + self.updatedAt = updatedAt + self.permissions = permissions + self.events = events + self.installationsCount = installationsCount + } + public enum CodingKeys: String, CodingKey { + case id + case slug + case nodeId = "node_id" + case clientId = "client_id" + case owner + case name + case description + case externalUrl = "external_url" + case htmlUrl = "html_url" + case createdAt = "created_at" + case updatedAt = "updated_at" + case permissions + case events + case installationsCount = "installations_count" + } + } + /// How the author is associated with the repository. + /// + /// - Remark: Generated from `#/components/schemas/author-association`. + @frozen public enum AuthorAssociation: String, Codable, Hashable, Sendable, CaseIterable { + case collaborator = "COLLABORATOR" + case contributor = "CONTRIBUTOR" + case firstTimer = "FIRST_TIMER" + case firstTimeContributor = "FIRST_TIME_CONTRIBUTOR" + case mannequin = "MANNEQUIN" + case member = "MEMBER" + case none = "NONE" + case owner = "OWNER" + } + /// - Remark: Generated from `#/components/schemas/reaction-rollup`. + public struct ReactionRollup: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/reaction-rollup/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/reaction-rollup/total_count`. + public var totalCount: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/+1`. + public var _plus_1: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/-1`. + public var _hyphen_1: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/laugh`. + public var laugh: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/confused`. + public var confused: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/heart`. + public var heart: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/hooray`. + public var hooray: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/eyes`. + public var eyes: Swift.Int + /// - Remark: Generated from `#/components/schemas/reaction-rollup/rocket`. + public var rocket: Swift.Int + /// Creates a new `ReactionRollup`. + /// + /// - Parameters: + /// - url: + /// - totalCount: + /// - _plus_1: + /// - _hyphen_1: + /// - laugh: + /// - confused: + /// - heart: + /// - hooray: + /// - eyes: + /// - rocket: + public init( + url: Swift.String, + totalCount: Swift.Int, + _plus_1: Swift.Int, + _hyphen_1: Swift.Int, + laugh: Swift.Int, + confused: Swift.Int, + heart: Swift.Int, + hooray: Swift.Int, + eyes: Swift.Int, + rocket: Swift.Int + ) { + self.url = url + self.totalCount = totalCount + self._plus_1 = _plus_1 + self._hyphen_1 = _hyphen_1 + self.laugh = laugh + self.confused = confused + self.heart = heart + self.hooray = hooray + self.eyes = eyes + self.rocket = rocket + } + public enum CodingKeys: String, CodingKey { + case url + case totalCount = "total_count" + case _plus_1 = "+1" + case _hyphen_1 = "-1" + case laugh + case confused + case heart + case hooray + case eyes + case rocket + } + } + /// - Remark: Generated from `#/components/schemas/sub-issues-summary`. + public struct SubIssuesSummary: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/sub-issues-summary/total`. + public var total: Swift.Int + /// - Remark: Generated from `#/components/schemas/sub-issues-summary/completed`. + public var completed: Swift.Int + /// - Remark: Generated from `#/components/schemas/sub-issues-summary/percent_completed`. + public var percentCompleted: Swift.Int + /// Creates a new `SubIssuesSummary`. + /// + /// - Parameters: + /// - total: + /// - completed: + /// - percentCompleted: + public init( + total: Swift.Int, + completed: Swift.Int, + percentCompleted: Swift.Int + ) { + self.total = total + self.completed = completed + self.percentCompleted = percentCompleted + } + public enum CodingKeys: String, CodingKey { + case total + case completed + case percentCompleted = "percent_completed" + } + } + /// - Remark: Generated from `#/components/schemas/issue-dependencies-summary`. + public struct IssueDependenciesSummary: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue-dependencies-summary/blocked_by`. + public var blockedBy: Swift.Int + /// - Remark: Generated from `#/components/schemas/issue-dependencies-summary/blocking`. + public var blocking: Swift.Int + /// - Remark: Generated from `#/components/schemas/issue-dependencies-summary/total_blocked_by`. + public var totalBlockedBy: Swift.Int + /// - Remark: Generated from `#/components/schemas/issue-dependencies-summary/total_blocking`. + public var totalBlocking: Swift.Int + /// Creates a new `IssueDependenciesSummary`. + /// + /// - Parameters: + /// - blockedBy: + /// - blocking: + /// - totalBlockedBy: + /// - totalBlocking: + public init( + blockedBy: Swift.Int, + blocking: Swift.Int, + totalBlockedBy: Swift.Int, + totalBlocking: Swift.Int + ) { + self.blockedBy = blockedBy + self.blocking = blocking + self.totalBlockedBy = totalBlockedBy + self.totalBlocking = totalBlocking + } + public enum CodingKeys: String, CodingKey { + case blockedBy = "blocked_by" + case blocking + case totalBlockedBy = "total_blocked_by" + case totalBlocking = "total_blocking" + } + } + /// A value assigned to an issue field + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value`. + public struct IssueFieldValue: Codable, Hashable, Sendable { + /// Unique identifier for the issue field. + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/issue_field_id`. + public var issueFieldId: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/issue-field-value/node_id`. + public var nodeId: Swift.String + /// The data type of the issue field + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/data_type`. + @frozen public enum DataTypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case text = "text" + case singleSelect = "single_select" + case number = "number" + case date = "date" + } + /// The data type of the issue field + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/data_type`. + public var dataType: Components.Schemas.IssueFieldValue.DataTypePayload + /// The value of the issue field + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/value`. + public struct ValuePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue-field-value/value/value1`. + public var value1: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue-field-value/value/value2`. + public var value2: Swift.Double? + /// - Remark: Generated from `#/components/schemas/issue-field-value/value/value3`. + public var value3: Swift.Int? + /// Creates a new `ValuePayload`. + /// + /// - Parameters: + /// - value1: + /// - value2: + /// - value3: + public init( + value1: Swift.String? = nil, + value2: Swift.Double? = nil, + value3: Swift.Int? = nil + ) { + self.value1 = value1 + self.value2 = value2 + self.value3 = value3 + } + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self.value1 = try decoder.decodeFromSingleValueContainer() + } catch { + errors.append(error) + } + do { + self.value2 = try decoder.decodeFromSingleValueContainer() + } catch { + errors.append(error) + } + do { + self.value3 = try decoder.decodeFromSingleValueContainer() + } catch { + errors.append(error) + } + try Swift.DecodingError.verifyAtLeastOneSchemaIsNotNil( + [ + self.value1, + self.value2, + self.value3 + ], + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + try encoder.encodeFirstNonNilValueToSingleValueContainer([ + self.value1, + self.value2, + self.value3 + ]) + } + } + /// The value of the issue field + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/value`. + public var value: Components.Schemas.IssueFieldValue.ValuePayload? + /// Details about the selected option (only present for single_select fields) + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/single_select_option`. + public struct SingleSelectOptionPayload: Codable, Hashable, Sendable { + /// Unique identifier for the option. + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/single_select_option/id`. + public var id: Swift.Int64 + /// The name of the option + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/single_select_option/name`. + public var name: Swift.String + /// The color of the option + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/single_select_option/color`. + public var color: Swift.String + /// Creates a new `SingleSelectOptionPayload`. + /// + /// - Parameters: + /// - id: Unique identifier for the option. + /// - name: The name of the option + /// - color: The color of the option + public init( + id: Swift.Int64, + name: Swift.String, + color: Swift.String + ) { + self.id = id + self.name = name + self.color = color + } + public enum CodingKeys: String, CodingKey { + case id + case name + case color + } + } + /// Details about the selected option (only present for single_select fields) + /// + /// - Remark: Generated from `#/components/schemas/issue-field-value/single_select_option`. + public var singleSelectOption: Components.Schemas.IssueFieldValue.SingleSelectOptionPayload? + /// Creates a new `IssueFieldValue`. + /// + /// - Parameters: + /// - issueFieldId: Unique identifier for the issue field. + /// - nodeId: + /// - dataType: The data type of the issue field + /// - value: The value of the issue field + /// - singleSelectOption: Details about the selected option (only present for single_select fields) + public init( + issueFieldId: Swift.Int64, + nodeId: Swift.String, + dataType: Components.Schemas.IssueFieldValue.DataTypePayload, + value: Components.Schemas.IssueFieldValue.ValuePayload? = nil, + singleSelectOption: Components.Schemas.IssueFieldValue.SingleSelectOptionPayload? = nil + ) { + self.issueFieldId = issueFieldId + self.nodeId = nodeId + self.dataType = dataType + self.value = value + self.singleSelectOption = singleSelectOption + } + public enum CodingKeys: String, CodingKey { + case issueFieldId = "issue_field_id" + case nodeId = "node_id" + case dataType = "data_type" + case value + case singleSelectOption = "single_select_option" + } + } + /// Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + /// + /// - Remark: Generated from `#/components/schemas/issue`. + public struct Issue: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/issue/node_id`. + public var nodeId: Swift.String + /// URL for the issue + /// + /// - Remark: Generated from `#/components/schemas/issue/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/issue/repository_url`. + public var repositoryUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/issue/labels_url`. + public var labelsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/issue/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/issue/events_url`. + public var eventsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/issue/html_url`. + public var htmlUrl: Swift.String + /// Number uniquely identifying the issue within its repository + /// + /// - Remark: Generated from `#/components/schemas/issue/number`. + public var number: Swift.Int + /// State of the issue; either 'open' or 'closed' + /// + /// - Remark: Generated from `#/components/schemas/issue/state`. + public var state: Swift.String + /// The reason for the current state + /// + /// - Remark: Generated from `#/components/schemas/issue/state_reason`. + @frozen public enum StateReasonPayload: String, Codable, Hashable, Sendable, CaseIterable { + case completed = "completed" + case reopened = "reopened" + case notPlanned = "not_planned" + case duplicate = "duplicate" + } + /// The reason for the current state + /// + /// - Remark: Generated from `#/components/schemas/issue/state_reason`. + public var stateReason: Components.Schemas.Issue.StateReasonPayload? + /// Title of the issue + /// + /// - Remark: Generated from `#/components/schemas/issue/title`. + public var title: Swift.String + /// Contents of the issue + /// + /// - Remark: Generated from `#/components/schemas/issue/body`. + public var body: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload`. + @frozen public enum LabelsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case1`. + case case1(Swift.String) + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2`. + public struct Case2Payload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/id`. + public var id: Swift.Int64? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/node_id`. + public var nodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/url`. + public var url: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/name`. + public var name: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/color`. + public var color: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2/default`. + public var _default: Swift.Bool? + /// Creates a new `Case2Payload`. + /// + /// - Parameters: + /// - id: + /// - nodeId: + /// - url: + /// - name: + /// - description: + /// - color: + /// - _default: + public init( + id: Swift.Int64? = nil, + nodeId: Swift.String? = nil, + url: Swift.String? = nil, + name: Swift.String? = nil, + description: Swift.String? = nil, + color: Swift.String? = nil, + _default: Swift.Bool? = nil + ) { + self.id = id + self.nodeId = nodeId + self.url = url + self.name = name + self.description = description + self.color = color + self._default = _default + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case url + case name + case description + case color + case _default = "default" + } + } + /// - Remark: Generated from `#/components/schemas/issue/LabelsPayload/case2`. + case case2(Components.Schemas.Issue.LabelsPayloadPayload.Case2Payload) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case2(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try encoder.encodeToSingleValueContainer(value) + case let .case2(value): + try value.encode(to: encoder) + } + } + } + /// Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + /// + /// - Remark: Generated from `#/components/schemas/issue/labels`. + public typealias LabelsPayload = [Components.Schemas.Issue.LabelsPayloadPayload] + /// Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + /// + /// - Remark: Generated from `#/components/schemas/issue/labels`. + public var labels: Components.Schemas.Issue.LabelsPayload + /// - Remark: Generated from `#/components/schemas/issue/assignee`. + public var assignee: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/issue/assignees`. + public var assignees: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/issue/milestone`. + public var milestone: Components.Schemas.NullableMilestone? + /// - Remark: Generated from `#/components/schemas/issue/locked`. + public var locked: Swift.Bool + /// - Remark: Generated from `#/components/schemas/issue/active_lock_reason`. + public var activeLockReason: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/comments`. + public var comments: Swift.Int + /// - Remark: Generated from `#/components/schemas/issue/pull_request`. + public struct PullRequestPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/issue/pull_request/merged_at`. + public var mergedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/issue/pull_request/diff_url`. + public var diffUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/pull_request/html_url`. + public var htmlUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/pull_request/patch_url`. + public var patchUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/pull_request/url`. + public var url: Swift.String? + /// Creates a new `PullRequestPayload`. + /// + /// - Parameters: + /// - mergedAt: + /// - diffUrl: + /// - htmlUrl: + /// - patchUrl: + /// - url: + public init( + mergedAt: Foundation.Date? = nil, + diffUrl: Swift.String? = nil, + htmlUrl: Swift.String? = nil, + patchUrl: Swift.String? = nil, + url: Swift.String? = nil + ) { + self.mergedAt = mergedAt + self.diffUrl = diffUrl + self.htmlUrl = htmlUrl + self.patchUrl = patchUrl + self.url = url + } + public enum CodingKeys: String, CodingKey { + case mergedAt = "merged_at" + case diffUrl = "diff_url" + case htmlUrl = "html_url" + case patchUrl = "patch_url" + case url + } + } + /// - Remark: Generated from `#/components/schemas/issue/pull_request`. + public var pullRequest: Components.Schemas.Issue.PullRequestPayload? + /// - Remark: Generated from `#/components/schemas/issue/closed_at`. + public var closedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/issue/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/issue/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/issue/draft`. + public var draft: Swift.Bool? + /// - Remark: Generated from `#/components/schemas/issue/closed_by`. + public var closedBy: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/issue/body_html`. + public var bodyHtml: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/body_text`. + public var bodyText: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/timeline_url`. + public var timelineUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/type`. + public var _type: Components.Schemas.IssueType? + /// - Remark: Generated from `#/components/schemas/issue/repository`. + public var repository: Components.Schemas.Repository? + /// - Remark: Generated from `#/components/schemas/issue/performed_via_github_app`. + public var performedViaGithubApp: Components.Schemas.NullableIntegration? + /// - Remark: Generated from `#/components/schemas/issue/author_association`. + public var authorAssociation: Components.Schemas.AuthorAssociation? + /// - Remark: Generated from `#/components/schemas/issue/reactions`. + public var reactions: Components.Schemas.ReactionRollup? + /// - Remark: Generated from `#/components/schemas/issue/sub_issues_summary`. + public var subIssuesSummary: Components.Schemas.SubIssuesSummary? + /// URL to get the parent issue of this issue, if it is a sub-issue + /// + /// - Remark: Generated from `#/components/schemas/issue/parent_issue_url`. + public var parentIssueUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/issue/issue_dependencies_summary`. + public var issueDependenciesSummary: Components.Schemas.IssueDependenciesSummary? + /// - Remark: Generated from `#/components/schemas/issue/issue_field_values`. + public var issueFieldValues: [Components.Schemas.IssueFieldValue]? + /// Creates a new `Issue`. + /// + /// - Parameters: + /// - id: + /// - nodeId: + /// - url: URL for the issue + /// - repositoryUrl: + /// - labelsUrl: + /// - commentsUrl: + /// - eventsUrl: + /// - htmlUrl: + /// - number: Number uniquely identifying the issue within its repository + /// - state: State of the issue; either 'open' or 'closed' + /// - stateReason: The reason for the current state + /// - title: Title of the issue + /// - body: Contents of the issue + /// - user: + /// - labels: Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + /// - assignee: + /// - assignees: + /// - milestone: + /// - locked: + /// - activeLockReason: + /// - comments: + /// - pullRequest: + /// - closedAt: + /// - createdAt: + /// - updatedAt: + /// - draft: + /// - closedBy: + /// - bodyHtml: + /// - bodyText: + /// - timelineUrl: + /// - _type: + /// - repository: + /// - performedViaGithubApp: + /// - authorAssociation: + /// - reactions: + /// - subIssuesSummary: + /// - parentIssueUrl: URL to get the parent issue of this issue, if it is a sub-issue + /// - issueDependenciesSummary: + /// - issueFieldValues: + public init( + id: Swift.Int64, + nodeId: Swift.String, + url: Swift.String, + repositoryUrl: Swift.String, + labelsUrl: Swift.String, + commentsUrl: Swift.String, + eventsUrl: Swift.String, + htmlUrl: Swift.String, + number: Swift.Int, + state: Swift.String, + stateReason: Components.Schemas.Issue.StateReasonPayload? = nil, + title: Swift.String, + body: Swift.String? = nil, + user: Components.Schemas.NullableSimpleUser? = nil, + labels: Components.Schemas.Issue.LabelsPayload, + assignee: Components.Schemas.NullableSimpleUser? = nil, + assignees: [Components.Schemas.SimpleUser]? = nil, + milestone: Components.Schemas.NullableMilestone? = nil, + locked: Swift.Bool, + activeLockReason: Swift.String? = nil, + comments: Swift.Int, + pullRequest: Components.Schemas.Issue.PullRequestPayload? = nil, + closedAt: Foundation.Date? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + draft: Swift.Bool? = nil, + closedBy: Components.Schemas.NullableSimpleUser? = nil, + bodyHtml: Swift.String? = nil, + bodyText: Swift.String? = nil, + timelineUrl: Swift.String? = nil, + _type: Components.Schemas.IssueType? = nil, + repository: Components.Schemas.Repository? = nil, + performedViaGithubApp: Components.Schemas.NullableIntegration? = nil, + authorAssociation: Components.Schemas.AuthorAssociation? = nil, + reactions: Components.Schemas.ReactionRollup? = nil, + subIssuesSummary: Components.Schemas.SubIssuesSummary? = nil, + parentIssueUrl: Swift.String? = nil, + issueDependenciesSummary: Components.Schemas.IssueDependenciesSummary? = nil, + issueFieldValues: [Components.Schemas.IssueFieldValue]? = nil + ) { + self.id = id + self.nodeId = nodeId + self.url = url + self.repositoryUrl = repositoryUrl + self.labelsUrl = labelsUrl + self.commentsUrl = commentsUrl + self.eventsUrl = eventsUrl + self.htmlUrl = htmlUrl + self.number = number + self.state = state + self.stateReason = stateReason + self.title = title + self.body = body + self.user = user + self.labels = labels + self.assignee = assignee + self.assignees = assignees + self.milestone = milestone + self.locked = locked + self.activeLockReason = activeLockReason + self.comments = comments + self.pullRequest = pullRequest + self.closedAt = closedAt + self.createdAt = createdAt + self.updatedAt = updatedAt + self.draft = draft + self.closedBy = closedBy + self.bodyHtml = bodyHtml + self.bodyText = bodyText + self.timelineUrl = timelineUrl + self._type = _type + self.repository = repository + self.performedViaGithubApp = performedViaGithubApp + self.authorAssociation = authorAssociation + self.reactions = reactions + self.subIssuesSummary = subIssuesSummary + self.parentIssueUrl = parentIssueUrl + self.issueDependenciesSummary = issueDependenciesSummary + self.issueFieldValues = issueFieldValues + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case url + case repositoryUrl = "repository_url" + case labelsUrl = "labels_url" + case commentsUrl = "comments_url" + case eventsUrl = "events_url" + case htmlUrl = "html_url" + case number + case state + case stateReason = "state_reason" + case title + case body + case user + case labels + case assignee + case assignees + case milestone + case locked + case activeLockReason = "active_lock_reason" + case comments + case pullRequest = "pull_request" + case closedAt = "closed_at" + case createdAt = "created_at" + case updatedAt = "updated_at" + case draft + case closedBy = "closed_by" + case bodyHtml = "body_html" + case bodyText = "body_text" + case timelineUrl = "timeline_url" + case _type = "type" + case repository + case performedViaGithubApp = "performed_via_github_app" + case authorAssociation = "author_association" + case reactions + case subIssuesSummary = "sub_issues_summary" + case parentIssueUrl = "parent_issue_url" + case issueDependenciesSummary = "issue_dependencies_summary" + case issueFieldValues = "issue_field_values" + } + } + /// Groups of organization members that gives permissions on specified repositories. + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple`. + public struct NullableTeamSimple: Codable, Hashable, Sendable { + /// Unique identifier of the team + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/node_id`. + public var nodeId: Swift.String + /// URL for the team + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/members_url`. + public var membersUrl: Swift.String + /// Name of the team + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/name`. + public var name: Swift.String + /// Description of the team + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/description`. + public var description: Swift.String? + /// Permission that the team will have for its repositories + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/permission`. + public var permission: Swift.String + /// The level of privacy this team should have + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/privacy`. + public var privacy: Swift.String? + /// The notification setting the team has set + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/notification_setting`. + public var notificationSetting: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/repositories_url`. + public var repositoriesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/slug`. + public var slug: Swift.String + /// Distinguished Name (DN) that team maps to within LDAP environment + /// + /// - Remark: Generated from `#/components/schemas/nullable-team-simple/ldap_dn`. + public var ldapDn: Swift.String? + /// Creates a new `NullableTeamSimple`. + /// + /// - Parameters: + /// - id: Unique identifier of the team + /// - nodeId: + /// - url: URL for the team + /// - membersUrl: + /// - name: Name of the team + /// - description: Description of the team + /// - permission: Permission that the team will have for its repositories + /// - privacy: The level of privacy this team should have + /// - notificationSetting: The notification setting the team has set + /// - htmlUrl: + /// - repositoriesUrl: + /// - slug: + /// - ldapDn: Distinguished Name (DN) that team maps to within LDAP environment + public init( + id: Swift.Int, + nodeId: Swift.String, + url: Swift.String, + membersUrl: Swift.String, + name: Swift.String, + description: Swift.String? = nil, + permission: Swift.String, + privacy: Swift.String? = nil, + notificationSetting: Swift.String? = nil, + htmlUrl: Swift.String, + repositoriesUrl: Swift.String, + slug: Swift.String, + ldapDn: Swift.String? = nil + ) { + self.id = id + self.nodeId = nodeId + self.url = url + self.membersUrl = membersUrl + self.name = name + self.description = description + self.permission = permission + self.privacy = privacy + self.notificationSetting = notificationSetting + self.htmlUrl = htmlUrl + self.repositoriesUrl = repositoriesUrl + self.slug = slug + self.ldapDn = ldapDn + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case url + case membersUrl = "members_url" + case name + case description + case permission + case privacy + case notificationSetting = "notification_setting" + case htmlUrl = "html_url" + case repositoriesUrl = "repositories_url" + case slug + case ldapDn = "ldap_dn" + } + } + /// Groups of organization members that gives permissions on specified repositories. + /// + /// - Remark: Generated from `#/components/schemas/team`. + public struct Team: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/team/id`. + public var id: Swift.Int + /// - Remark: Generated from `#/components/schemas/team/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/team/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/team/slug`. + public var slug: Swift.String + /// - Remark: Generated from `#/components/schemas/team/description`. + public var description: Swift.String? + /// - Remark: Generated from `#/components/schemas/team/privacy`. + public var privacy: Swift.String? + /// - Remark: Generated from `#/components/schemas/team/notification_setting`. + public var notificationSetting: Swift.String? + /// - Remark: Generated from `#/components/schemas/team/permission`. + public var permission: Swift.String + /// - Remark: Generated from `#/components/schemas/team/permissions`. + public struct PermissionsPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/team/permissions/pull`. + public var pull: Swift.Bool + /// - Remark: Generated from `#/components/schemas/team/permissions/triage`. + public var triage: Swift.Bool + /// - Remark: Generated from `#/components/schemas/team/permissions/push`. + public var push: Swift.Bool + /// - Remark: Generated from `#/components/schemas/team/permissions/maintain`. + public var maintain: Swift.Bool + /// - Remark: Generated from `#/components/schemas/team/permissions/admin`. + public var admin: Swift.Bool + /// Creates a new `PermissionsPayload`. + /// + /// - Parameters: + /// - pull: + /// - triage: + /// - push: + /// - maintain: + /// - admin: + public init( + pull: Swift.Bool, + triage: Swift.Bool, + push: Swift.Bool, + maintain: Swift.Bool, + admin: Swift.Bool + ) { + self.pull = pull + self.triage = triage + self.push = push + self.maintain = maintain + self.admin = admin + } + public enum CodingKeys: String, CodingKey { + case pull + case triage + case push + case maintain + case admin + } + } + /// - Remark: Generated from `#/components/schemas/team/permissions`. + public var permissions: Components.Schemas.Team.PermissionsPayload? + /// - Remark: Generated from `#/components/schemas/team/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/team/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/team/members_url`. + public var membersUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/team/repositories_url`. + public var repositoriesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/team/parent`. + public var parent: Components.Schemas.NullableTeamSimple? + /// Creates a new `Team`. + /// + /// - Parameters: + /// - id: + /// - nodeId: + /// - name: + /// - slug: + /// - description: + /// - privacy: + /// - notificationSetting: + /// - permission: + /// - permissions: + /// - url: + /// - htmlUrl: + /// - membersUrl: + /// - repositoriesUrl: + /// - parent: + public init( + id: Swift.Int, + nodeId: Swift.String, + name: Swift.String, + slug: Swift.String, + description: Swift.String? = nil, + privacy: Swift.String? = nil, + notificationSetting: Swift.String? = nil, + permission: Swift.String, + permissions: Components.Schemas.Team.PermissionsPayload? = nil, + url: Swift.String, + htmlUrl: Swift.String, + membersUrl: Swift.String, + repositoriesUrl: Swift.String, + parent: Components.Schemas.NullableTeamSimple? = nil + ) { + self.id = id + self.nodeId = nodeId + self.name = name + self.slug = slug + self.description = description + self.privacy = privacy + self.notificationSetting = notificationSetting + self.permission = permission + self.permissions = permissions + self.url = url + self.htmlUrl = htmlUrl + self.membersUrl = membersUrl + self.repositoriesUrl = repositoriesUrl + self.parent = parent + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case name + case slug + case description + case privacy + case notificationSetting = "notification_setting" + case permission + case permissions + case url + case htmlUrl = "html_url" + case membersUrl = "members_url" + case repositoriesUrl = "repositories_url" + case parent + } + } + /// An status update belonging to a project + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update`. + public struct NullableProjectsV2StatusUpdate: Codable, Hashable, Sendable { + /// The unique identifier of the status update. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/id`. + public var id: Swift.Double + /// The node ID of the status update. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/node_id`. + public var nodeId: Swift.String + /// The node ID of the project that this status update belongs to. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/project_node_id`. + public var projectNodeId: Swift.String? + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/creator`. + public var creator: Components.Schemas.SimpleUser? + /// The time when the status update was created. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/created_at`. + public var createdAt: Foundation.Date + /// The time when the status update was last updated. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/updated_at`. + public var updatedAt: Foundation.Date + /// The current status. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/status`. + @frozen public enum StatusPayload: String, Codable, Hashable, Sendable, CaseIterable { + case inactive = "INACTIVE" + case onTrack = "ON_TRACK" + case atRisk = "AT_RISK" + case offTrack = "OFF_TRACK" + case complete = "COMPLETE" + } + /// The current status. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/status`. + public var status: Components.Schemas.NullableProjectsV2StatusUpdate.StatusPayload? + /// The start date of the period covered by the update. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/start_date`. + public var startDate: Swift.String? + /// The target date associated with the update. + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/target_date`. + public var targetDate: Swift.String? + /// Body of the status update + /// + /// - Remark: Generated from `#/components/schemas/nullable-projects-v2-status-update/body`. + public var body: Swift.String? + /// Creates a new `NullableProjectsV2StatusUpdate`. + /// + /// - Parameters: + /// - id: The unique identifier of the status update. + /// - nodeId: The node ID of the status update. + /// - projectNodeId: The node ID of the project that this status update belongs to. + /// - creator: + /// - createdAt: The time when the status update was created. + /// - updatedAt: The time when the status update was last updated. + /// - status: The current status. + /// - startDate: The start date of the period covered by the update. + /// - targetDate: The target date associated with the update. + /// - body: Body of the status update + public init( + id: Swift.Double, + nodeId: Swift.String, + projectNodeId: Swift.String? = nil, + creator: Components.Schemas.SimpleUser? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + status: Components.Schemas.NullableProjectsV2StatusUpdate.StatusPayload? = nil, + startDate: Swift.String? = nil, + targetDate: Swift.String? = nil, + body: Swift.String? = nil + ) { + self.id = id + self.nodeId = nodeId + self.projectNodeId = projectNodeId + self.creator = creator + self.createdAt = createdAt + self.updatedAt = updatedAt + self.status = status + self.startDate = startDate + self.targetDate = targetDate + self.body = body + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case projectNodeId = "project_node_id" + case creator + case createdAt = "created_at" + case updatedAt = "updated_at" + case status + case startDate = "start_date" + case targetDate = "target_date" + case body + } + } + /// A projects v2 project + /// + /// - Remark: Generated from `#/components/schemas/projects-v2`. + public struct ProjectsV2: Codable, Hashable, Sendable { + /// The unique identifier of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/id`. + public var id: Swift.Double + /// The node ID of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/projects-v2/owner`. + public var owner: Components.Schemas.SimpleUser + /// - Remark: Generated from `#/components/schemas/projects-v2/creator`. + public var creator: Components.Schemas.SimpleUser + /// The project title. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/title`. + public var title: Swift.String + /// A short description of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/description`. + public var description: Swift.String? + /// Whether the project is visible to anyone with access to the owner. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/public`. + public var _public: Swift.Bool + /// The time when the project was closed. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/closed_at`. + public var closedAt: Foundation.Date? + /// The time when the project was created. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/created_at`. + public var createdAt: Foundation.Date + /// The time when the project was last updated. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/updated_at`. + public var updatedAt: Foundation.Date + /// The project number. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/number`. + public var number: Swift.Int + /// A concise summary of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/short_description`. + public var shortDescription: Swift.String? + /// The time when the project was deleted. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/deleted_at`. + public var deletedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/projects-v2/deleted_by`. + public var deletedBy: Components.Schemas.NullableSimpleUser? + /// The current state of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/state`. + @frozen public enum StatePayload: String, Codable, Hashable, Sendable, CaseIterable { + case open = "open" + case closed = "closed" + } + /// The current state of the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/state`. + public var state: Components.Schemas.ProjectsV2.StatePayload? + /// - Remark: Generated from `#/components/schemas/projects-v2/latest_status_update`. + public var latestStatusUpdate: Components.Schemas.NullableProjectsV2StatusUpdate? + /// Whether this project is a template + /// + /// - Remark: Generated from `#/components/schemas/projects-v2/is_template`. + public var isTemplate: Swift.Bool? + /// Creates a new `ProjectsV2`. + /// + /// - Parameters: + /// - id: The unique identifier of the project. + /// - nodeId: The node ID of the project. + /// - owner: + /// - creator: + /// - title: The project title. + /// - description: A short description of the project. + /// - _public: Whether the project is visible to anyone with access to the owner. + /// - closedAt: The time when the project was closed. + /// - createdAt: The time when the project was created. + /// - updatedAt: The time when the project was last updated. + /// - number: The project number. + /// - shortDescription: A concise summary of the project. + /// - deletedAt: The time when the project was deleted. + /// - deletedBy: + /// - state: The current state of the project. + /// - latestStatusUpdate: + /// - isTemplate: Whether this project is a template + public init( + id: Swift.Double, + nodeId: Swift.String, + owner: Components.Schemas.SimpleUser, + creator: Components.Schemas.SimpleUser, + title: Swift.String, + description: Swift.String? = nil, + _public: Swift.Bool, + closedAt: Foundation.Date? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + number: Swift.Int, + shortDescription: Swift.String? = nil, + deletedAt: Foundation.Date? = nil, + deletedBy: Components.Schemas.NullableSimpleUser? = nil, + state: Components.Schemas.ProjectsV2.StatePayload? = nil, + latestStatusUpdate: Components.Schemas.NullableProjectsV2StatusUpdate? = nil, + isTemplate: Swift.Bool? = nil + ) { + self.id = id + self.nodeId = nodeId + self.owner = owner + self.creator = creator + self.title = title + self.description = description + self._public = _public + self.closedAt = closedAt + self.createdAt = createdAt + self.updatedAt = updatedAt + self.number = number + self.shortDescription = shortDescription + self.deletedAt = deletedAt + self.deletedBy = deletedBy + self.state = state + self.latestStatusUpdate = latestStatusUpdate + self.isTemplate = isTemplate + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case owner + case creator + case title + case description + case _public = "public" + case closedAt = "closed_at" + case createdAt = "created_at" + case updatedAt = "updated_at" + case number + case shortDescription = "short_description" + case deletedAt = "deleted_at" + case deletedBy = "deleted_by" + case state + case latestStatusUpdate = "latest_status_update" + case isTemplate = "is_template" + } + } + /// An option for a single select field + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options`. + public struct ProjectsV2SingleSelectOptions: Codable, Hashable, Sendable { + /// The unique identifier of the option. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/id`. + public var id: Swift.String + /// The display name of the option, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/name`. + public struct NamePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/name/raw`. + public var raw: Swift.String + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/name/html`. + public var html: Swift.String + /// Creates a new `NamePayload`. + /// + /// - Parameters: + /// - raw: + /// - html: + public init( + raw: Swift.String, + html: Swift.String + ) { + self.raw = raw + self.html = html + } + public enum CodingKeys: String, CodingKey { + case raw + case html + } + } + /// The display name of the option, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/name`. + public var name: Components.Schemas.ProjectsV2SingleSelectOptions.NamePayload + /// The description of the option, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/description`. + public struct DescriptionPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/description/raw`. + public var raw: Swift.String + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/description/html`. + public var html: Swift.String + /// Creates a new `DescriptionPayload`. + /// + /// - Parameters: + /// - raw: + /// - html: + public init( + raw: Swift.String, + html: Swift.String + ) { + self.raw = raw + self.html = html + } + public enum CodingKeys: String, CodingKey { + case raw + case html + } + } + /// The description of the option, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/description`. + public var description: Components.Schemas.ProjectsV2SingleSelectOptions.DescriptionPayload + /// The color associated with the option. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-single-select-options/color`. + public var color: Swift.String + /// Creates a new `ProjectsV2SingleSelectOptions`. + /// + /// - Parameters: + /// - id: The unique identifier of the option. + /// - name: The display name of the option, in raw text and HTML formats. + /// - description: The description of the option, in raw text and HTML formats. + /// - color: The color associated with the option. + public init( + id: Swift.String, + name: Components.Schemas.ProjectsV2SingleSelectOptions.NamePayload, + description: Components.Schemas.ProjectsV2SingleSelectOptions.DescriptionPayload, + color: Swift.String + ) { + self.id = id + self.name = name + self.description = description + self.color = color + } + public enum CodingKeys: String, CodingKey { + case id + case name + case description + case color + } + } + /// An iteration setting for an iteration field + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings`. + public struct ProjectsV2IterationSettings: Codable, Hashable, Sendable { + /// The unique identifier of the iteration setting. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/id`. + public var id: Swift.String + /// The start date of the iteration. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/start_date`. + public var startDate: Swift.String + /// The duration of the iteration in days. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/duration`. + public var duration: Swift.Int + /// The iteration title, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/title`. + public struct TitlePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/title/raw`. + public var raw: Swift.String + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/title/html`. + public var html: Swift.String + /// Creates a new `TitlePayload`. + /// + /// - Parameters: + /// - raw: + /// - html: + public init( + raw: Swift.String, + html: Swift.String + ) { + self.raw = raw + self.html = html + } + public enum CodingKeys: String, CodingKey { + case raw + case html + } + } + /// The iteration title, in raw text and HTML formats. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/title`. + public var title: Components.Schemas.ProjectsV2IterationSettings.TitlePayload + /// Whether the iteration has been completed. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-iteration-settings/completed`. + public var completed: Swift.Bool + /// Creates a new `ProjectsV2IterationSettings`. + /// + /// - Parameters: + /// - id: The unique identifier of the iteration setting. + /// - startDate: The start date of the iteration. + /// - duration: The duration of the iteration in days. + /// - title: The iteration title, in raw text and HTML formats. + /// - completed: Whether the iteration has been completed. + public init( + id: Swift.String, + startDate: Swift.String, + duration: Swift.Int, + title: Components.Schemas.ProjectsV2IterationSettings.TitlePayload, + completed: Swift.Bool + ) { + self.id = id + self.startDate = startDate + self.duration = duration + self.title = title + self.completed = completed + } + public enum CodingKeys: String, CodingKey { + case id + case startDate = "start_date" + case duration + case title + case completed + } + } + /// A field inside a projects v2 project + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field`. + public struct ProjectsV2Field: Codable, Hashable, Sendable { + /// The unique identifier of the field. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/id`. + public var id: Swift.Int + /// The node ID of the field. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/node_id`. + public var nodeId: Swift.String? + /// The API URL of the project that contains the field. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/project_url`. + public var projectUrl: Swift.String + /// The name of the field. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/name`. + public var name: Swift.String + /// The field's data type. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/data_type`. + @frozen public enum DataTypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case assignees = "assignees" + case linkedPullRequests = "linked_pull_requests" + case reviewers = "reviewers" + case labels = "labels" + case milestone = "milestone" + case repository = "repository" + case title = "title" + case text = "text" + case singleSelect = "single_select" + case number = "number" + case date = "date" + case iteration = "iteration" + case issueType = "issue_type" + case parentIssue = "parent_issue" + case subIssuesProgress = "sub_issues_progress" + } + /// The field's data type. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/data_type`. + public var dataType: Components.Schemas.ProjectsV2Field.DataTypePayload + /// The options available for single select fields. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/options`. + public var options: [Components.Schemas.ProjectsV2SingleSelectOptions]? + /// Configuration for iteration fields. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/configuration`. + public struct ConfigurationPayload: Codable, Hashable, Sendable { + /// The day of the week when the iteration starts. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/configuration/start_day`. + public var startDay: Swift.Int? + /// The duration of the iteration in days. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/configuration/duration`. + public var duration: Swift.Int? + /// - Remark: Generated from `#/components/schemas/projects-v2-field/configuration/iterations`. + public var iterations: [Components.Schemas.ProjectsV2IterationSettings]? + /// Creates a new `ConfigurationPayload`. + /// + /// - Parameters: + /// - startDay: The day of the week when the iteration starts. + /// - duration: The duration of the iteration in days. + /// - iterations: + public init( + startDay: Swift.Int? = nil, + duration: Swift.Int? = nil, + iterations: [Components.Schemas.ProjectsV2IterationSettings]? = nil + ) { + self.startDay = startDay + self.duration = duration + self.iterations = iterations + } + public enum CodingKeys: String, CodingKey { + case startDay = "start_day" + case duration + case iterations + } + } + /// Configuration for iteration fields. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/configuration`. + public var configuration: Components.Schemas.ProjectsV2Field.ConfigurationPayload? + /// The time when the field was created. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/created_at`. + public var createdAt: Foundation.Date + /// The time when the field was last updated. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-field/updated_at`. + public var updatedAt: Foundation.Date + /// Creates a new `ProjectsV2Field`. + /// + /// - Parameters: + /// - id: The unique identifier of the field. + /// - nodeId: The node ID of the field. + /// - projectUrl: The API URL of the project that contains the field. + /// - name: The name of the field. + /// - dataType: The field's data type. + /// - options: The options available for single select fields. + /// - configuration: Configuration for iteration fields. + /// - createdAt: The time when the field was created. + /// - updatedAt: The time when the field was last updated. + public init( + id: Swift.Int, + nodeId: Swift.String? = nil, + projectUrl: Swift.String, + name: Swift.String, + dataType: Components.Schemas.ProjectsV2Field.DataTypePayload, + options: [Components.Schemas.ProjectsV2SingleSelectOptions]? = nil, + configuration: Components.Schemas.ProjectsV2Field.ConfigurationPayload? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date + ) { + self.id = id + self.nodeId = nodeId + self.projectUrl = projectUrl + self.name = name + self.dataType = dataType + self.options = options + self.configuration = configuration + self.createdAt = createdAt + self.updatedAt = updatedAt + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case projectUrl = "project_url" + case name + case dataType = "data_type" + case options + case configuration + case createdAt = "created_at" + case updatedAt = "updated_at" + } + } + /// The type of content tracked in a project item + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-content-type`. + @frozen public enum ProjectsV2ItemContentType: String, Codable, Hashable, Sendable, CaseIterable { + case issue = "Issue" + case pullRequest = "PullRequest" + case draftIssue = "DraftIssue" + } + /// An item belonging to a project + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content`. + public struct ProjectsV2ItemWithContent: Codable, Hashable, Sendable { + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/id`. + public var id: Swift.Double + /// The node ID of the project item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/node_id`. + public var nodeId: Swift.String? + /// The API URL of the project that contains this item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/project_url`. + public var projectUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/content_type`. + public var contentType: Components.Schemas.ProjectsV2ItemContentType + /// The content of the item, which varies by content type. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/content`. + public struct ContentPayload: Codable, Hashable, Sendable { + /// A container of undocumented properties. + public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer + /// Creates a new `ContentPayload`. + /// + /// - Parameters: + /// - additionalProperties: A container of undocumented properties. + public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { + self.additionalProperties = additionalProperties + } + public init(from decoder: any Decoder) throws { + additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) + } + public func encode(to encoder: any Encoder) throws { + try encoder.encodeAdditionalProperties(additionalProperties) + } + } + /// The content of the item, which varies by content type. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/content`. + public var content: Components.Schemas.ProjectsV2ItemWithContent.ContentPayload? + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/creator`. + public var creator: Components.Schemas.SimpleUser? + /// The time when the item was created. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/created_at`. + public var createdAt: Foundation.Date + /// The time when the item was last updated. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/updated_at`. + public var updatedAt: Foundation.Date + /// The time when the item was archived. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/archived_at`. + public var archivedAt: Foundation.Date? + /// The API URL of this item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/item_url`. + public var itemUrl: Swift.String? + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/FieldsPayload`. + public struct FieldsPayloadPayload: Codable, Hashable, Sendable { + /// A container of undocumented properties. + public var additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer + /// Creates a new `FieldsPayloadPayload`. + /// + /// - Parameters: + /// - additionalProperties: A container of undocumented properties. + public init(additionalProperties: OpenAPIRuntime.OpenAPIObjectContainer = .init()) { + self.additionalProperties = additionalProperties + } + public init(from decoder: any Decoder) throws { + additionalProperties = try decoder.decodeAdditionalProperties(knownKeys: []) + } + public func encode(to encoder: any Encoder) throws { + try encoder.encodeAdditionalProperties(additionalProperties) + } + } + /// The fields and values associated with this item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/fields`. + public typealias FieldsPayload = [Components.Schemas.ProjectsV2ItemWithContent.FieldsPayloadPayload] + /// The fields and values associated with this item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-with-content/fields`. + public var fields: Components.Schemas.ProjectsV2ItemWithContent.FieldsPayload? + /// Creates a new `ProjectsV2ItemWithContent`. + /// + /// - Parameters: + /// - id: The unique identifier of the project item. + /// - nodeId: The node ID of the project item. + /// - projectUrl: The API URL of the project that contains this item. + /// - contentType: + /// - content: The content of the item, which varies by content type. + /// - creator: + /// - createdAt: The time when the item was created. + /// - updatedAt: The time when the item was last updated. + /// - archivedAt: The time when the item was archived. + /// - itemUrl: The API URL of this item. + /// - fields: The fields and values associated with this item. + public init( + id: Swift.Double, + nodeId: Swift.String? = nil, + projectUrl: Swift.String? = nil, + contentType: Components.Schemas.ProjectsV2ItemContentType, + content: Components.Schemas.ProjectsV2ItemWithContent.ContentPayload? = nil, + creator: Components.Schemas.SimpleUser? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + archivedAt: Foundation.Date? = nil, + itemUrl: Swift.String? = nil, + fields: Components.Schemas.ProjectsV2ItemWithContent.FieldsPayload? = nil + ) { + self.id = id + self.nodeId = nodeId + self.projectUrl = projectUrl + self.contentType = contentType + self.content = content + self.creator = creator + self.createdAt = createdAt + self.updatedAt = updatedAt + self.archivedAt = archivedAt + self.itemUrl = itemUrl + self.fields = fields + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case projectUrl = "project_url" + case contentType = "content_type" + case content + case creator + case createdAt = "created_at" + case updatedAt = "updated_at" + case archivedAt = "archived_at" + case itemUrl = "item_url" + case fields + } + } + /// Hypermedia Link + /// + /// - Remark: Generated from `#/components/schemas/link`. + public struct Link: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/link/href`. + public var href: Swift.String + /// Creates a new `Link`. + /// + /// - Parameters: + /// - href: + public init(href: Swift.String) { + self.href = href + } + public enum CodingKeys: String, CodingKey { + case href + } + } + /// The status of auto merging a pull request. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge`. + public struct AutoMerge: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/auto-merge/enabled_by`. + public var enabledBy: Components.Schemas.SimpleUser + /// The merge method to use. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + @frozen public enum MergeMethodPayload: String, Codable, Hashable, Sendable, CaseIterable { + case merge = "merge" + case squash = "squash" + case rebase = "rebase" + } + /// The merge method to use. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/merge_method`. + public var mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload + /// Title for the merge commit message. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_title`. + public var commitTitle: Swift.String + /// Commit message for the merge commit. + /// + /// - Remark: Generated from `#/components/schemas/auto-merge/commit_message`. + public var commitMessage: Swift.String + /// Creates a new `AutoMerge`. + /// + /// - Parameters: + /// - enabledBy: + /// - mergeMethod: The merge method to use. + /// - commitTitle: Title for the merge commit message. + /// - commitMessage: Commit message for the merge commit. + public init( + enabledBy: Components.Schemas.SimpleUser, + mergeMethod: Components.Schemas.AutoMerge.MergeMethodPayload, + commitTitle: Swift.String, + commitMessage: Swift.String + ) { + self.enabledBy = enabledBy + self.mergeMethod = mergeMethod + self.commitTitle = commitTitle + self.commitMessage = commitMessage + } + public enum CodingKeys: String, CodingKey { + case enabledBy = "enabled_by" + case mergeMethod = "merge_method" + case commitTitle = "commit_title" + case commitMessage = "commit_message" + } + } + /// Pull Request Simple + /// + /// - Remark: Generated from `#/components/schemas/pull-request-simple`. + public struct PullRequestSimple: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/pull-request-simple/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/html_url`. + public var htmlUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/diff_url`. + public var diffUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/patch_url`. + public var patchUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/issue_url`. + public var issueUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/commits_url`. + public var commitsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comments_url`. + public var reviewCommentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/review_comment_url`. + public var reviewCommentUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/comments_url`. + public var commentsUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/statuses_url`. + public var statusesUrl: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/number`. + public var number: Swift.Int + /// - Remark: Generated from `#/components/schemas/pull-request-simple/state`. + public var state: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/locked`. + public var locked: Swift.Bool + /// - Remark: Generated from `#/components/schemas/pull-request-simple/title`. + public var title: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/body`. + public var body: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload`. + public struct LabelsPayloadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/id`. + public var id: Swift.Int64 + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/node_id`. + public var nodeId: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/url`. + public var url: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/name`. + public var name: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/description`. + public var description: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/color`. + public var color: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/LabelsPayload/default`. + public var _default: Swift.Bool + /// Creates a new `LabelsPayloadPayload`. + /// + /// - Parameters: + /// - id: + /// - nodeId: + /// - url: + /// - name: + /// - description: + /// - color: + /// - _default: + public init( + id: Swift.Int64, + nodeId: Swift.String, + url: Swift.String, + name: Swift.String, + description: Swift.String, + color: Swift.String, + _default: Swift.Bool + ) { + self.id = id + self.nodeId = nodeId + self.url = url + self.name = name + self.description = description + self.color = color + self._default = _default + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case url + case name + case description + case color + case _default = "default" + } + } + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public typealias LabelsPayload = [Components.Schemas.PullRequestSimple.LabelsPayloadPayload] + /// - Remark: Generated from `#/components/schemas/pull-request-simple/labels`. + public var labels: Components.Schemas.PullRequestSimple.LabelsPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/milestone`. + public var milestone: Components.Schemas.NullableMilestone? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/active_lock_reason`. + public var activeLockReason: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/created_at`. + public var createdAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/updated_at`. + public var updatedAt: Foundation.Date + /// - Remark: Generated from `#/components/schemas/pull-request-simple/closed_at`. + public var closedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merged_at`. + public var mergedAt: Foundation.Date? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/merge_commit_sha`. + public var mergeCommitSha: Swift.String? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignee`. + public var assignee: Components.Schemas.NullableSimpleUser? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/assignees`. + public var assignees: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_reviewers`. + public var requestedReviewers: [Components.Schemas.SimpleUser]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/requested_teams`. + public var requestedTeams: [Components.Schemas.Team]? + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public struct HeadPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `HeadPayload`. + /// + /// - Parameters: + /// - label: + /// - ref: + /// - repo: + /// - sha: + /// - user: + public init( + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, + sha: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil + ) { + self.label = label + self.ref = ref + self.repo = repo + self.sha = sha + self.user = user + } + public enum CodingKeys: String, CodingKey { + case label + case ref + case repo + case sha + case user + } + } + /// - Remark: Generated from `#/components/schemas/pull-request-simple/head`. + public var head: Components.Schemas.PullRequestSimple.HeadPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public struct BasePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/label`. + public var label: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/ref`. + public var ref: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/repo`. + public var repo: Components.Schemas.Repository + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/sha`. + public var sha: Swift.String + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// Creates a new `BasePayload`. + /// + /// - Parameters: + /// - label: + /// - ref: + /// - repo: + /// - sha: + /// - user: + public init( + label: Swift.String, + ref: Swift.String, + repo: Components.Schemas.Repository, + sha: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil + ) { + self.label = label + self.ref = ref + self.repo = repo + self.sha = sha + self.user = user + } + public enum CodingKeys: String, CodingKey { + case label + case ref + case repo + case sha + case user + } + } + /// - Remark: Generated from `#/components/schemas/pull-request-simple/base`. + public var base: Components.Schemas.PullRequestSimple.BasePayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public struct _LinksPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/comments`. + public var comments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/commits`. + public var commits: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/statuses`. + public var statuses: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/html`. + public var html: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/issue`. + public var issue: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comments`. + public var reviewComments: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/review_comment`. + public var reviewComment: Components.Schemas.Link + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links/self`. + public var _self: Components.Schemas.Link + /// Creates a new `_LinksPayload`. + /// + /// - Parameters: + /// - comments: + /// - commits: + /// - statuses: + /// - html: + /// - issue: + /// - reviewComments: + /// - reviewComment: + /// - _self: + public init( + comments: Components.Schemas.Link, + commits: Components.Schemas.Link, + statuses: Components.Schemas.Link, + html: Components.Schemas.Link, + issue: Components.Schemas.Link, + reviewComments: Components.Schemas.Link, + reviewComment: Components.Schemas.Link, + _self: Components.Schemas.Link + ) { + self.comments = comments + self.commits = commits + self.statuses = statuses + self.html = html + self.issue = issue + self.reviewComments = reviewComments + self.reviewComment = reviewComment + self._self = _self + } + public enum CodingKeys: String, CodingKey { + case comments + case commits + case statuses + case html + case issue + case reviewComments = "review_comments" + case reviewComment = "review_comment" + case _self = "self" + } + } + /// - Remark: Generated from `#/components/schemas/pull-request-simple/_links`. + public var _links: Components.Schemas.PullRequestSimple._LinksPayload + /// - Remark: Generated from `#/components/schemas/pull-request-simple/author_association`. + public var authorAssociation: Components.Schemas.AuthorAssociation + /// - Remark: Generated from `#/components/schemas/pull-request-simple/auto_merge`. + public var autoMerge: Components.Schemas.AutoMerge? + /// Indicates whether or not the pull request is a draft. + /// + /// - Remark: Generated from `#/components/schemas/pull-request-simple/draft`. + public var draft: Swift.Bool? + /// Creates a new `PullRequestSimple`. + /// + /// - Parameters: + /// - url: + /// - id: + /// - nodeId: + /// - htmlUrl: + /// - diffUrl: + /// - patchUrl: + /// - issueUrl: + /// - commitsUrl: + /// - reviewCommentsUrl: + /// - reviewCommentUrl: + /// - commentsUrl: + /// - statusesUrl: + /// - number: + /// - state: + /// - locked: + /// - title: + /// - user: + /// - body: + /// - labels: + /// - milestone: + /// - activeLockReason: + /// - createdAt: + /// - updatedAt: + /// - closedAt: + /// - mergedAt: + /// - mergeCommitSha: + /// - assignee: + /// - assignees: + /// - requestedReviewers: + /// - requestedTeams: + /// - head: + /// - base: + /// - _links: + /// - authorAssociation: + /// - autoMerge: + /// - draft: Indicates whether or not the pull request is a draft. + public init( + url: Swift.String, + id: Swift.Int64, + nodeId: Swift.String, + htmlUrl: Swift.String, + diffUrl: Swift.String, + patchUrl: Swift.String, + issueUrl: Swift.String, + commitsUrl: Swift.String, + reviewCommentsUrl: Swift.String, + reviewCommentUrl: Swift.String, + commentsUrl: Swift.String, + statusesUrl: Swift.String, + number: Swift.Int, + state: Swift.String, + locked: Swift.Bool, + title: Swift.String, + user: Components.Schemas.NullableSimpleUser? = nil, + body: Swift.String? = nil, + labels: Components.Schemas.PullRequestSimple.LabelsPayload, + milestone: Components.Schemas.NullableMilestone? = nil, + activeLockReason: Swift.String? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + closedAt: Foundation.Date? = nil, + mergedAt: Foundation.Date? = nil, + mergeCommitSha: Swift.String? = nil, + assignee: Components.Schemas.NullableSimpleUser? = nil, + assignees: [Components.Schemas.SimpleUser]? = nil, + requestedReviewers: [Components.Schemas.SimpleUser]? = nil, + requestedTeams: [Components.Schemas.Team]? = nil, + head: Components.Schemas.PullRequestSimple.HeadPayload, + base: Components.Schemas.PullRequestSimple.BasePayload, + _links: Components.Schemas.PullRequestSimple._LinksPayload, + authorAssociation: Components.Schemas.AuthorAssociation, + autoMerge: Components.Schemas.AutoMerge? = nil, + draft: Swift.Bool? = nil + ) { + self.url = url + self.id = id + self.nodeId = nodeId + self.htmlUrl = htmlUrl + self.diffUrl = diffUrl + self.patchUrl = patchUrl + self.issueUrl = issueUrl + self.commitsUrl = commitsUrl + self.reviewCommentsUrl = reviewCommentsUrl + self.reviewCommentUrl = reviewCommentUrl + self.commentsUrl = commentsUrl + self.statusesUrl = statusesUrl + self.number = number + self.state = state + self.locked = locked + self.title = title + self.user = user + self.body = body + self.labels = labels + self.milestone = milestone + self.activeLockReason = activeLockReason + self.createdAt = createdAt + self.updatedAt = updatedAt + self.closedAt = closedAt + self.mergedAt = mergedAt + self.mergeCommitSha = mergeCommitSha + self.assignee = assignee + self.assignees = assignees + self.requestedReviewers = requestedReviewers + self.requestedTeams = requestedTeams + self.head = head + self.base = base + self._links = _links + self.authorAssociation = authorAssociation + self.autoMerge = autoMerge + self.draft = draft + } + public enum CodingKeys: String, CodingKey { + case url + case id + case nodeId = "node_id" + case htmlUrl = "html_url" + case diffUrl = "diff_url" + case patchUrl = "patch_url" + case issueUrl = "issue_url" + case commitsUrl = "commits_url" + case reviewCommentsUrl = "review_comments_url" + case reviewCommentUrl = "review_comment_url" + case commentsUrl = "comments_url" + case statusesUrl = "statuses_url" + case number + case state + case locked + case title + case user + case body + case labels + case milestone + case activeLockReason = "active_lock_reason" + case createdAt = "created_at" + case updatedAt = "updated_at" + case closedAt = "closed_at" + case mergedAt = "merged_at" + case mergeCommitSha = "merge_commit_sha" + case assignee + case assignees + case requestedReviewers = "requested_reviewers" + case requestedTeams = "requested_teams" + case head + case base + case _links + case authorAssociation = "author_association" + case autoMerge = "auto_merge" + case draft + } + } + /// A draft issue in a project + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue`. + public struct ProjectsV2DraftIssue: Codable, Hashable, Sendable { + /// The ID of the draft issue + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/id`. + public var id: Swift.Double + /// The node ID of the draft issue + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/node_id`. + public var nodeId: Swift.String + /// The title of the draft issue + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/title`. + public var title: Swift.String + /// The body content of the draft issue + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/body`. + public var body: Swift.String? + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/user`. + public var user: Components.Schemas.NullableSimpleUser? + /// The time the draft issue was created + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/created_at`. + public var createdAt: Foundation.Date + /// The time the draft issue was last updated + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-draft-issue/updated_at`. + public var updatedAt: Foundation.Date + /// Creates a new `ProjectsV2DraftIssue`. + /// + /// - Parameters: + /// - id: The ID of the draft issue + /// - nodeId: The node ID of the draft issue + /// - title: The title of the draft issue + /// - body: The body content of the draft issue + /// - user: + /// - createdAt: The time the draft issue was created + /// - updatedAt: The time the draft issue was last updated + public init( + id: Swift.Double, + nodeId: Swift.String, + title: Swift.String, + body: Swift.String? = nil, + user: Components.Schemas.NullableSimpleUser? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date + ) { + self.id = id + self.nodeId = nodeId + self.title = title + self.body = body + self.user = user + self.createdAt = createdAt + self.updatedAt = updatedAt + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case title + case body + case user + case createdAt = "created_at" + case updatedAt = "updated_at" + } + } + /// An item belonging to a project + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple`. + public struct ProjectsV2ItemSimple: Codable, Hashable, Sendable { + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/id`. + public var id: Swift.Double + /// The node ID of the project item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/node_id`. + public var nodeId: Swift.String? + /// The content represented by the item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content`. + @frozen public enum ContentPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content/case1`. + case Issue(Components.Schemas.Issue) + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content/case2`. + case PullRequestSimple(Components.Schemas.PullRequestSimple) + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content/case3`. + case ProjectsV2DraftIssue(Components.Schemas.ProjectsV2DraftIssue) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .Issue(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .PullRequestSimple(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + do { + self = .ProjectsV2DraftIssue(try .init(from: decoder)) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .Issue(value): + try value.encode(to: encoder) + case let .PullRequestSimple(value): + try value.encode(to: encoder) + case let .ProjectsV2DraftIssue(value): + try value.encode(to: encoder) + } + } + } + /// The content represented by the item. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content`. + public var content: Components.Schemas.ProjectsV2ItemSimple.ContentPayload? + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/content_type`. + public var contentType: Components.Schemas.ProjectsV2ItemContentType + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/creator`. + public var creator: Components.Schemas.SimpleUser? + /// The time when the item was created. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/created_at`. + public var createdAt: Foundation.Date + /// The time when the item was last updated. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/updated_at`. + public var updatedAt: Foundation.Date + /// The time when the item was archived. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/archived_at`. + public var archivedAt: Foundation.Date? + /// The URL of the project this item belongs to. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/project_url`. + public var projectUrl: Swift.String? + /// The URL of the item in the project. + /// + /// - Remark: Generated from `#/components/schemas/projects-v2-item-simple/item_url`. + public var itemUrl: Swift.String? + /// Creates a new `ProjectsV2ItemSimple`. + /// + /// - Parameters: + /// - id: The unique identifier of the project item. + /// - nodeId: The node ID of the project item. + /// - content: The content represented by the item. + /// - contentType: + /// - creator: + /// - createdAt: The time when the item was created. + /// - updatedAt: The time when the item was last updated. + /// - archivedAt: The time when the item was archived. + /// - projectUrl: The URL of the project this item belongs to. + /// - itemUrl: The URL of the item in the project. + public init( + id: Swift.Double, + nodeId: Swift.String? = nil, + content: Components.Schemas.ProjectsV2ItemSimple.ContentPayload? = nil, + contentType: Components.Schemas.ProjectsV2ItemContentType, + creator: Components.Schemas.SimpleUser? = nil, + createdAt: Foundation.Date, + updatedAt: Foundation.Date, + archivedAt: Foundation.Date? = nil, + projectUrl: Swift.String? = nil, + itemUrl: Swift.String? = nil + ) { + self.id = id + self.nodeId = nodeId + self.content = content + self.contentType = contentType + self.creator = creator + self.createdAt = createdAt + self.updatedAt = updatedAt + self.archivedAt = archivedAt + self.projectUrl = projectUrl + self.itemUrl = itemUrl + } + public enum CodingKeys: String, CodingKey { + case id + case nodeId = "node_id" + case content + case contentType = "content_type" + case creator + case createdAt = "created_at" + case updatedAt = "updated_at" + case archivedAt = "archived_at" + case projectUrl = "project_url" + case itemUrl = "item_url" + } + } + } /// Types generated from the `#/components/parameters` section of the OpenAPI document. - public enum Parameters {} + public enum Parameters { + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/components/parameters/pagination-before`. + public typealias PaginationBefore = Swift.String + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/components/parameters/pagination-after`. + public typealias PaginationAfter = Swift.String + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/components/parameters/per-page`. + public typealias PerPage = Swift.Int + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/components/parameters/org`. + public typealias Org = Swift.String + /// The handle for the GitHub user account. + /// + /// - Remark: Generated from `#/components/parameters/username`. + public typealias Username = Swift.String + /// The project's number. + /// + /// - Remark: Generated from `#/components/parameters/project-number`. + public typealias ProjectNumber = Swift.Int + /// The unique identifier of the field. + /// + /// - Remark: Generated from `#/components/parameters/field-id`. + public typealias FieldId = Swift.Int + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/components/parameters/item-id`. + public typealias ItemId = Swift.Int + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/components/parameters/user-id`. + public typealias UserId = Swift.String + } /// Types generated from the `#/components/requestBodies` section of the OpenAPI document. public enum RequestBodies {} /// Types generated from the `#/components/responses` section of the OpenAPI document. - public enum Responses {} + public enum Responses { + public struct NotFound: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/not_found/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/not_found/content/application\/json`. + case json(Components.Schemas.BasicError) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.BasicError { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Components.Responses.NotFound.Body + /// Creates a new `NotFound`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Components.Responses.NotFound.Body) { + self.body = body + } + } + public struct ValidationFailed: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/validation_failed/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/validation_failed/content/application\/json`. + case json(Components.Schemas.ValidationError) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ValidationError { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Components.Responses.ValidationFailed.Body + /// Creates a new `ValidationFailed`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Components.Responses.ValidationFailed.Body) { + self.body = body + } + } + public struct NotModified: Sendable, Hashable { + /// Creates a new `NotModified`. + public init() {} + } + public struct RequiresAuthentication: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/requires_authentication/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/requires_authentication/content/application\/json`. + case json(Components.Schemas.BasicError) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.BasicError { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Components.Responses.RequiresAuthentication.Body + /// Creates a new `RequiresAuthentication`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Components.Responses.RequiresAuthentication.Body) { + self.body = body + } + } + public struct Forbidden: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/forbidden/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/components/responses/forbidden/content/application\/json`. + case json(Components.Schemas.BasicError) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.BasicError { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Components.Responses.Forbidden.Body + /// Creates a new `Forbidden`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Components.Responses.Forbidden.Body) { + self.body = body + } + } + } /// Types generated from the `#/components/headers` section of the OpenAPI document. - public enum Headers {} + public enum Headers { + /// - Remark: Generated from `#/components/headers/link`. + public typealias Link = Swift.String + } } /// API operations, with input and output types, generated from `#/paths` in the OpenAPI document. -public enum Operations {} +public enum Operations { + /// List projects for organization + /// + /// List all projects owned by a specific organization accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)`. + public enum ProjectsListForOrg { + public static let id: Swift.String = "projects/list-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/path`. + public struct Path: Sendable, Hashable { + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/path/org`. + public var org: Components.Parameters.Org + /// Creates a new `Path`. + /// + /// - Parameters: + /// - org: The organization name. The name is not case sensitive. + public init(org: Components.Parameters.Org) { + self.org = org + } + } + public var path: Operations.ProjectsListForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/query`. + public struct Query: Sendable, Hashable { + /// Limit results to projects of the specified type. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/query/q`. + public var q: Swift.String? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - q: Limit results to projects of the specified type. + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + public init( + q: Swift.String? = nil, + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil, + perPage: Components.Parameters.PerPage? = nil + ) { + self.q = q + self.before = before + self.after = after + self.perPage = perPage + } + } + public var query: Operations.ProjectsListForOrg.Input.Query + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListForOrg.Input.Path, + query: Operations.ProjectsListForOrg.Input.Query = .init(), + headers: Operations.ProjectsListForOrg.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListForOrg.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListForOrg.Output.Ok.Headers = .init(), + body: Operations.ProjectsListForOrg.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/get(projects/list-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get project for organization + /// + /// Get a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)`. + public enum ProjectsGetForOrg { + public static let id: Swift.String = "projects/get-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/path/org`. + public var org: Components.Parameters.Org + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org + ) { + self.projectNumber = projectNumber + self.org = org + } + } + public var path: Operations.ProjectsGetForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsGetForOrg.Input.Path, + headers: Operations.ProjectsGetForOrg.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetForOrg.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2 { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetForOrg.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetForOrg.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/get(projects/get-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// List project fields for organization + /// + /// List all fields for a specific organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)`. + public enum ProjectsListFieldsForOrg { + public static let id: Swift.String = "projects/list-fields-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/path/org`. + public var org: Components.Parameters.Org + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org + ) { + self.projectNumber = projectNumber + self.org = org + } + } + public var path: Operations.ProjectsListFieldsForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/query`. + public struct Query: Sendable, Hashable { + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + public init( + perPage: Components.Parameters.PerPage? = nil, + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil + ) { + self.perPage = perPage + self.before = before + self.after = after + } + } + public var query: Operations.ProjectsListFieldsForOrg.Input.Query + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListFieldsForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListFieldsForOrg.Input.Path, + query: Operations.ProjectsListFieldsForOrg.Input.Query = .init(), + headers: Operations.ProjectsListFieldsForOrg.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListFieldsForOrg.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2Field]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2Field] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListFieldsForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListFieldsForOrg.Output.Ok.Headers = .init(), + body: Operations.ProjectsListFieldsForOrg.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListFieldsForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListFieldsForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/get(projects/list-fields-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get project field for organization + /// + /// Get a specific field for an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)`. + public enum ProjectsGetFieldForOrg { + public static let id: Swift.String = "projects/get-field-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the field. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/path/field_id`. + public var fieldId: Components.Parameters.FieldId + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/path/org`. + public var org: Components.Parameters.Org + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - fieldId: The unique identifier of the field. + /// - org: The organization name. The name is not case sensitive. + public init( + projectNumber: Components.Parameters.ProjectNumber, + fieldId: Components.Parameters.FieldId, + org: Components.Parameters.Org + ) { + self.projectNumber = projectNumber + self.fieldId = fieldId + self.org = org + } + } + public var path: Operations.ProjectsGetFieldForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetFieldForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsGetFieldForOrg.Input.Path, + headers: Operations.ProjectsGetFieldForOrg.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetFieldForOrg.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2Field) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2Field { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetFieldForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetFieldForOrg.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetFieldForOrg.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetFieldForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetFieldForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// List items for an organization owned project + /// + /// List all items for a specific organization-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)`. + public enum ProjectsListItemsForOrg { + public static let id: Swift.String = "projects/list-items-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/path/org`. + public var org: Components.Parameters.Org + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org + ) { + self.projectNumber = projectNumber + self.org = org + } + } + public var path: Operations.ProjectsListItemsForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query`. + public struct Query: Sendable, Hashable { + /// Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query/q`. + public var q: Swift.String? + /// Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query/fields`. + public var fields: [Swift.String]? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - q: Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. + /// - fields: Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + public init( + q: Swift.String? = nil, + fields: [Swift.String]? = nil, + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil, + perPage: Components.Parameters.PerPage? = nil + ) { + self.q = q + self.fields = fields + self.before = before + self.after = after + self.perPage = perPage + } + } + public var query: Operations.ProjectsListItemsForOrg.Input.Query + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListItemsForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListItemsForOrg.Input.Path, + query: Operations.ProjectsListItemsForOrg.Input.Query = .init(), + headers: Operations.ProjectsListItemsForOrg.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListItemsForOrg.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2ItemWithContent]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2ItemWithContent] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListItemsForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListItemsForOrg.Output.Ok.Headers = .init(), + body: Operations.ProjectsListItemsForOrg.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListItemsForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListItemsForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/get(projects/list-items-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Add item to organization owned project + /// + /// Add an issue or pull request item to the specified organization owned project. + /// + /// - Remark: HTTP `POST /orgs/{org}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)`. + public enum ProjectsAddItemForOrg { + public static let id: Swift.String = "projects/add-item-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/path`. + public struct Path: Sendable, Hashable { + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/path/org`. + public var org: Components.Parameters.Org + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// Creates a new `Path`. + /// + /// - Parameters: + /// - org: The organization name. The name is not case sensitive. + /// - projectNumber: The project's number. + public init( + org: Components.Parameters.Org, + projectNumber: Components.Parameters.ProjectNumber + ) { + self.org = org + self.projectNumber = projectNumber + } + } + public var path: Operations.ProjectsAddItemForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsAddItemForOrg.Input.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody/json`. + public struct JsonPayload: Codable, Hashable, Sendable { + /// The type of item to add to the project. Must be either Issue or PullRequest. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody/json/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case issue = "Issue" + case pullRequest = "PullRequest" + } + /// The type of item to add to the project. Must be either Issue or PullRequest. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody/json/type`. + public var _type: Operations.ProjectsAddItemForOrg.Input.Body.JsonPayload._TypePayload + /// The numeric ID of the issue or pull request to add to the project. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody/json/id`. + public var id: Swift.Int + /// Creates a new `JsonPayload`. + /// + /// - Parameters: + /// - _type: The type of item to add to the project. Must be either Issue or PullRequest. + /// - id: The numeric ID of the issue or pull request to add to the project. + public init( + _type: Operations.ProjectsAddItemForOrg.Input.Body.JsonPayload._TypePayload, + id: Swift.Int + ) { + self._type = _type + self.id = id + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case id + } + } + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/requestBody/content/application\/json`. + case json(Operations.ProjectsAddItemForOrg.Input.Body.JsonPayload) + } + public var body: Operations.ProjectsAddItemForOrg.Input.Body + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + /// - body: + public init( + path: Operations.ProjectsAddItemForOrg.Input.Path, + headers: Operations.ProjectsAddItemForOrg.Input.Headers = .init(), + body: Operations.ProjectsAddItemForOrg.Input.Body + ) { + self.path = path + self.headers = headers + self.body = body + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Created: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/responses/201/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/POST/responses/201/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemSimple) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemSimple { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsAddItemForOrg.Output.Created.Body + /// Creates a new `Created`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Operations.ProjectsAddItemForOrg.Output.Created.Body) { + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)/responses/201`. + /// + /// HTTP response code: `201 created`. + case created(Operations.ProjectsAddItemForOrg.Output.Created) + /// The associated value of the enum case if `self` is `.created`. + /// + /// - Throws: An error if `self` is not `.created`. + /// - SeeAlso: `.created`. + public var created: Operations.ProjectsAddItemForOrg.Output.Created { + get throws { + switch self { + case let .created(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "created", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/post(projects/add-item-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get an item for an organization owned project + /// + /// Get a specific item from an organization-owned project. + /// + /// - Remark: HTTP `GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)`. + public enum ProjectsGetOrgItem { + public static let id: Swift.String = "projects/get-org-item" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/path/org`. + public var org: Components.Parameters.Org + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.org = org + self.itemId = itemId + } + } + public var path: Operations.ProjectsGetOrgItem.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/query`. + public struct Query: Sendable, Hashable { + /// Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/query/fields`. + public var fields: [Swift.String]? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - fields: Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + public init(fields: [Swift.String]? = nil) { + self.fields = fields + } + } + public var query: Operations.ProjectsGetOrgItem.Input.Query + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetOrgItem.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsGetOrgItem.Input.Path, + query: Operations.ProjectsGetOrgItem.Input.Query = .init(), + headers: Operations.ProjectsGetOrgItem.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetOrgItem.Output.Ok.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemWithContent) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemWithContent { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetOrgItem.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetOrgItem.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetOrgItem.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetOrgItem.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetOrgItem.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/get(projects/get-org-item)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Update project item for organization + /// + /// Update a specific item in an organization-owned project. + /// + /// - Remark: HTTP `PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)`. + public enum ProjectsUpdateItemForOrg { + public static let id: Swift.String = "projects/update-item-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/path/org`. + public var org: Components.Parameters.Org + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.org = org + self.itemId = itemId + } + } + public var path: Operations.ProjectsUpdateItemForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsUpdateItemForOrg.Input.Headers + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json`. + public struct JsonPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload`. + public struct FieldsPayloadPayload: Codable, Hashable, Sendable { + /// The ID of the project field to update. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/id`. + public var id: Swift.Int + /// The new value for the field: + /// - For text, number, and date fields, provide the new value directly. + /// - For single select and iteration fields, provide the ID of the option or iteration. + /// - To clear the field, set this to null. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value`. + @frozen public enum ValuePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value/case1`. + case case1(Swift.String) + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value/case2`. + case case2(Swift.Double) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case2(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try encoder.encodeToSingleValueContainer(value) + case let .case2(value): + try encoder.encodeToSingleValueContainer(value) + } + } + } + /// The new value for the field: + /// - For text, number, and date fields, provide the new value directly. + /// - For single select and iteration fields, provide the ID of the option or iteration. + /// - To clear the field, set this to null. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value`. + public var value: Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload.FieldsPayloadPayload.ValuePayload? + /// Creates a new `FieldsPayloadPayload`. + /// + /// - Parameters: + /// - id: The ID of the project field to update. + /// - value: The new value for the field: + public init( + id: Swift.Int, + value: Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload.FieldsPayloadPayload.ValuePayload? = nil + ) { + self.id = id + self.value = value + } + public enum CodingKeys: String, CodingKey { + case id + case value + } + } + /// A list of field updates to apply. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/fields`. + public typealias FieldsPayload = [Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload.FieldsPayloadPayload] + /// A list of field updates to apply. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/fields`. + public var fields: Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload.FieldsPayload + /// Creates a new `JsonPayload`. + /// + /// - Parameters: + /// - fields: A list of field updates to apply. + public init(fields: Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload.FieldsPayload) { + self.fields = fields + } + public enum CodingKeys: String, CodingKey { + case fields + } + } + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/content/application\/json`. + case json(Operations.ProjectsUpdateItemForOrg.Input.Body.JsonPayload) + } + public var body: Operations.ProjectsUpdateItemForOrg.Input.Body + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + /// - body: + public init( + path: Operations.ProjectsUpdateItemForOrg.Input.Path, + headers: Operations.ProjectsUpdateItemForOrg.Input.Headers = .init(), + body: Operations.ProjectsUpdateItemForOrg.Input.Body + ) { + self.path = path + self.headers = headers + self.body = body + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/PATCH/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemWithContent) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemWithContent { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsUpdateItemForOrg.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Operations.ProjectsUpdateItemForOrg.Output.Ok.Body) { + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsUpdateItemForOrg.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsUpdateItemForOrg.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Resource not found + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)/responses/404`. + /// + /// HTTP response code: `404 notFound`. + case notFound(Components.Responses.NotFound) + /// The associated value of the enum case if `self` is `.notFound`. + /// + /// - Throws: An error if `self` is not `.notFound`. + /// - SeeAlso: `.notFound`. + public var notFound: Components.Responses.NotFound { + get throws { + switch self { + case let .notFound(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notFound", + response: self + ) + } + } + } + /// Validation failed, or the endpoint has been spammed. + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-org)/responses/422`. + /// + /// HTTP response code: `422 unprocessableContent`. + case unprocessableContent(Components.Responses.ValidationFailed) + /// The associated value of the enum case if `self` is `.unprocessableContent`. + /// + /// - Throws: An error if `self` is not `.unprocessableContent`. + /// - SeeAlso: `.unprocessableContent`. + public var unprocessableContent: Components.Responses.ValidationFailed { + get throws { + switch self { + case let .unprocessableContent(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unprocessableContent", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Delete project item for organization + /// + /// Delete a specific item from an organization-owned project. + /// + /// - Remark: HTTP `DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)`. + public enum ProjectsDeleteItemForOrg { + public static let id: Swift.String = "projects/delete-item-for-org" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/DELETE/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/DELETE/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The organization name. The name is not case sensitive. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/DELETE/path/org`. + public var org: Components.Parameters.Org + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/DELETE/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - org: The organization name. The name is not case sensitive. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + org: Components.Parameters.Org, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.org = org + self.itemId = itemId + } + } + public var path: Operations.ProjectsDeleteItemForOrg.Input.Path + /// - Remark: Generated from `#/paths/orgs/{org}/projectsV2/{project_number}/items/{item_id}/DELETE/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsDeleteItemForOrg.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsDeleteItemForOrg.Input.Path, + headers: Operations.ProjectsDeleteItemForOrg.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct NoContent: Sendable, Hashable { + /// Creates a new `NoContent`. + public init() {} + } + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)/responses/204`. + /// + /// HTTP response code: `204 noContent`. + case noContent(Operations.ProjectsDeleteItemForOrg.Output.NoContent) + /// Response + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)/responses/204`. + /// + /// HTTP response code: `204 noContent`. + public static var noContent: Self { + .noContent(.init()) + } + /// The associated value of the enum case if `self` is `.noContent`. + /// + /// - Throws: An error if `self` is not `.noContent`. + /// - SeeAlso: `.noContent`. + public var noContent: Operations.ProjectsDeleteItemForOrg.Output.NoContent { + get throws { + switch self { + case let .noContent(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "noContent", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//orgs/{org}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-org)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get project for user + /// + /// Get a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)`. + public enum ProjectsGetForUser { + public static let id: Swift.String = "projects/get-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/path/user_id`. + public var userId: Components.Parameters.UserId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId + ) { + self.projectNumber = projectNumber + self.userId = userId + } + } + public var path: Operations.ProjectsGetForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsGetForUser.Input.Path, + headers: Operations.ProjectsGetForUser.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetForUser.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2 { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetForUser.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetForUser.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/get(projects/get-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// List project fields for user + /// + /// List all fields for a specific user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)`. + public enum ProjectsListFieldsForUser { + public static let id: Swift.String = "projects/list-fields-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/path/user_id`. + public var userId: Components.Parameters.UserId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId + ) { + self.projectNumber = projectNumber + self.userId = userId + } + } + public var path: Operations.ProjectsListFieldsForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/query`. + public struct Query: Sendable, Hashable { + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + public init( + perPage: Components.Parameters.PerPage? = nil, + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil + ) { + self.perPage = perPage + self.before = before + self.after = after + } + } + public var query: Operations.ProjectsListFieldsForUser.Input.Query + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListFieldsForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListFieldsForUser.Input.Path, + query: Operations.ProjectsListFieldsForUser.Input.Query = .init(), + headers: Operations.ProjectsListFieldsForUser.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListFieldsForUser.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2Field]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2Field] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListFieldsForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListFieldsForUser.Output.Ok.Headers = .init(), + body: Operations.ProjectsListFieldsForUser.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListFieldsForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListFieldsForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/get(projects/list-fields-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get project field for user + /// + /// Get a specific field for a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)`. + public enum ProjectsGetFieldForUser { + public static let id: Swift.String = "projects/get-field-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the field. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/path/field_id`. + public var fieldId: Components.Parameters.FieldId + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/path/user_id`. + public var userId: Components.Parameters.UserId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - fieldId: The unique identifier of the field. + /// - userId: The unique identifier of the user. + public init( + projectNumber: Components.Parameters.ProjectNumber, + fieldId: Components.Parameters.FieldId, + userId: Components.Parameters.UserId + ) { + self.projectNumber = projectNumber + self.fieldId = fieldId + self.userId = userId + } + } + public var path: Operations.ProjectsGetFieldForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetFieldForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsGetFieldForUser.Input.Path, + headers: Operations.ProjectsGetFieldForUser.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetFieldForUser.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/fields/{field_id}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2Field) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2Field { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetFieldForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetFieldForUser.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetFieldForUser.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetFieldForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetFieldForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/fields/{field_id}/get(projects/get-field-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// List items for a user owned project + /// + /// List all items for a specific user-owned project accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)`. + public enum ProjectsListItemsForUser { + public static let id: Swift.String = "projects/list-items-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/path/user_id`. + public var userId: Components.Parameters.UserId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId + ) { + self.projectNumber = projectNumber + self.userId = userId + } + } + public var path: Operations.ProjectsListItemsForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query`. + public struct Query: Sendable, Hashable { + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query/q`. + public var q: Swift.String? + /// Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/query/fields`. + public var fields: [Swift.String]? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - q: Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. + /// - fields: Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + public init( + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil, + perPage: Components.Parameters.PerPage? = nil, + q: Swift.String? = nil, + fields: [Swift.String]? = nil + ) { + self.before = before + self.after = after + self.perPage = perPage + self.q = q + self.fields = fields + } + } + public var query: Operations.ProjectsListItemsForUser.Input.Query + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListItemsForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListItemsForUser.Input.Path, + query: Operations.ProjectsListItemsForUser.Input.Query = .init(), + headers: Operations.ProjectsListItemsForUser.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListItemsForUser.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2ItemWithContent]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2ItemWithContent] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListItemsForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListItemsForUser.Output.Ok.Headers = .init(), + body: Operations.ProjectsListItemsForUser.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListItemsForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListItemsForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/get(projects/list-items-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Add item to user owned project + /// + /// Add an issue or pull request item to the specified user owned project. + /// + /// - Remark: HTTP `POST /users/{user_id}/projectsV2/{project_number}/items`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)`. + public enum ProjectsAddItemForUser { + public static let id: Swift.String = "projects/add-item-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/path`. + public struct Path: Sendable, Hashable { + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/path/user_id`. + public var userId: Components.Parameters.UserId + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// Creates a new `Path`. + /// + /// - Parameters: + /// - userId: The unique identifier of the user. + /// - projectNumber: The project's number. + public init( + userId: Components.Parameters.UserId, + projectNumber: Components.Parameters.ProjectNumber + ) { + self.userId = userId + self.projectNumber = projectNumber + } + } + public var path: Operations.ProjectsAddItemForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsAddItemForUser.Input.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody/json`. + public struct JsonPayload: Codable, Hashable, Sendable { + /// The type of item to add to the project. Must be either Issue or PullRequest. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody/json/type`. + @frozen public enum _TypePayload: String, Codable, Hashable, Sendable, CaseIterable { + case issue = "Issue" + case pullRequest = "PullRequest" + } + /// The type of item to add to the project. Must be either Issue or PullRequest. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody/json/type`. + public var _type: Operations.ProjectsAddItemForUser.Input.Body.JsonPayload._TypePayload + /// The numeric ID of the issue or pull request to add to the project. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody/json/id`. + public var id: Swift.Int + /// Creates a new `JsonPayload`. + /// + /// - Parameters: + /// - _type: The type of item to add to the project. Must be either Issue or PullRequest. + /// - id: The numeric ID of the issue or pull request to add to the project. + public init( + _type: Operations.ProjectsAddItemForUser.Input.Body.JsonPayload._TypePayload, + id: Swift.Int + ) { + self._type = _type + self.id = id + } + public enum CodingKeys: String, CodingKey { + case _type = "type" + case id + } + } + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/requestBody/content/application\/json`. + case json(Operations.ProjectsAddItemForUser.Input.Body.JsonPayload) + } + public var body: Operations.ProjectsAddItemForUser.Input.Body + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + /// - body: + public init( + path: Operations.ProjectsAddItemForUser.Input.Path, + headers: Operations.ProjectsAddItemForUser.Input.Headers = .init(), + body: Operations.ProjectsAddItemForUser.Input.Body + ) { + self.path = path + self.headers = headers + self.body = body + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Created: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/responses/201/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/POST/responses/201/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemSimple) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemSimple { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsAddItemForUser.Output.Created.Body + /// Creates a new `Created`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Operations.ProjectsAddItemForUser.Output.Created.Body) { + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)/responses/201`. + /// + /// HTTP response code: `201 created`. + case created(Operations.ProjectsAddItemForUser.Output.Created) + /// The associated value of the enum case if `self` is `.created`. + /// + /// - Throws: An error if `self` is not `.created`. + /// - SeeAlso: `.created`. + public var created: Operations.ProjectsAddItemForUser.Output.Created { + get throws { + switch self { + case let .created(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "created", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/post(projects/add-item-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Get an item for a user owned project + /// + /// Get a specific item from a user-owned project. + /// + /// - Remark: HTTP `GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)`. + public enum ProjectsGetUserItem { + public static let id: Swift.String = "projects/get-user-item" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/path/user_id`. + public var userId: Components.Parameters.UserId + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.userId = userId + self.itemId = itemId + } + } + public var path: Operations.ProjectsGetUserItem.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/query`. + public struct Query: Sendable, Hashable { + /// Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/query/fields`. + public var fields: [Swift.String]? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - fields: Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + public init(fields: [Swift.String]? = nil) { + self.fields = fields + } + } + public var query: Operations.ProjectsGetUserItem.Input.Query + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsGetUserItem.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsGetUserItem.Input.Path, + query: Operations.ProjectsGetUserItem.Input.Query = .init(), + headers: Operations.ProjectsGetUserItem.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsGetUserItem.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/GET/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemWithContent) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemWithContent { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsGetUserItem.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsGetUserItem.Output.Ok.Headers = .init(), + body: Operations.ProjectsGetUserItem.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsGetUserItem.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsGetUserItem.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/get(projects/get-user-item)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Update project item for user + /// + /// Update a specific item in a user-owned project. + /// + /// - Remark: HTTP `PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)`. + public enum ProjectsUpdateItemForUser { + public static let id: Swift.String = "projects/update-item-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/path/user_id`. + public var userId: Components.Parameters.UserId + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.userId = userId + self.itemId = itemId + } + } + public var path: Operations.ProjectsUpdateItemForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsUpdateItemForUser.Input.Headers + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json`. + public struct JsonPayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload`. + public struct FieldsPayloadPayload: Codable, Hashable, Sendable { + /// The ID of the project field to update. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/id`. + public var id: Swift.Int + /// The new value for the field: + /// - For text, number, and date fields, provide the new value directly. + /// - For single select and iteration fields, provide the ID of the option or iteration. + /// - To clear the field, set this to null. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value`. + @frozen public enum ValuePayload: Codable, Hashable, Sendable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value/case1`. + case case1(Swift.String) + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value/case2`. + case case2(Swift.Double) + public init(from decoder: any Decoder) throws { + var errors: [any Error] = [] + do { + self = .case1(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + do { + self = .case2(try decoder.decodeFromSingleValueContainer()) + return + } catch { + errors.append(error) + } + throw Swift.DecodingError.failedToDecodeOneOfSchema( + type: Self.self, + codingPath: decoder.codingPath, + errors: errors + ) + } + public func encode(to encoder: any Encoder) throws { + switch self { + case let .case1(value): + try encoder.encodeToSingleValueContainer(value) + case let .case2(value): + try encoder.encodeToSingleValueContainer(value) + } + } + } + /// The new value for the field: + /// - For text, number, and date fields, provide the new value directly. + /// - For single select and iteration fields, provide the ID of the option or iteration. + /// - To clear the field, set this to null. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/FieldsPayload/value`. + public var value: Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload.FieldsPayloadPayload.ValuePayload? + /// Creates a new `FieldsPayloadPayload`. + /// + /// - Parameters: + /// - id: The ID of the project field to update. + /// - value: The new value for the field: + public init( + id: Swift.Int, + value: Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload.FieldsPayloadPayload.ValuePayload? = nil + ) { + self.id = id + self.value = value + } + public enum CodingKeys: String, CodingKey { + case id + case value + } + } + /// A list of field updates to apply. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/fields`. + public typealias FieldsPayload = [Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload.FieldsPayloadPayload] + /// A list of field updates to apply. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/json/fields`. + public var fields: Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload.FieldsPayload + /// Creates a new `JsonPayload`. + /// + /// - Parameters: + /// - fields: A list of field updates to apply. + public init(fields: Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload.FieldsPayload) { + self.fields = fields + } + public enum CodingKeys: String, CodingKey { + case fields + } + } + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/requestBody/content/application\/json`. + case json(Operations.ProjectsUpdateItemForUser.Input.Body.JsonPayload) + } + public var body: Operations.ProjectsUpdateItemForUser.Input.Body + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + /// - body: + public init( + path: Operations.ProjectsUpdateItemForUser.Input.Path, + headers: Operations.ProjectsUpdateItemForUser.Input.Headers = .init(), + body: Operations.ProjectsUpdateItemForUser.Input.Body + ) { + self.path = path + self.headers = headers + self.body = body + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/PATCH/responses/200/content/application\/json`. + case json(Components.Schemas.ProjectsV2ItemWithContent) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: Components.Schemas.ProjectsV2ItemWithContent { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsUpdateItemForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - body: Received HTTP response body + public init(body: Operations.ProjectsUpdateItemForUser.Output.Ok.Body) { + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsUpdateItemForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsUpdateItemForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Resource not found + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)/responses/404`. + /// + /// HTTP response code: `404 notFound`. + case notFound(Components.Responses.NotFound) + /// The associated value of the enum case if `self` is `.notFound`. + /// + /// - Throws: An error if `self` is not `.notFound`. + /// - SeeAlso: `.notFound`. + public var notFound: Components.Responses.NotFound { + get throws { + switch self { + case let .notFound(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notFound", + response: self + ) + } + } + } + /// Validation failed, or the endpoint has been spammed. + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/patch(projects/update-item-for-user)/responses/422`. + /// + /// HTTP response code: `422 unprocessableContent`. + case unprocessableContent(Components.Responses.ValidationFailed) + /// The associated value of the enum case if `self` is `.unprocessableContent`. + /// + /// - Throws: An error if `self` is not `.unprocessableContent`. + /// - SeeAlso: `.unprocessableContent`. + public var unprocessableContent: Components.Responses.ValidationFailed { + get throws { + switch self { + case let .unprocessableContent(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unprocessableContent", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// Delete project item for user + /// + /// Delete a specific item from a user-owned project. + /// + /// - Remark: HTTP `DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}`. + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)`. + public enum ProjectsDeleteItemForUser { + public static let id: Swift.String = "projects/delete-item-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/DELETE/path`. + public struct Path: Sendable, Hashable { + /// The project's number. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/DELETE/path/project_number`. + public var projectNumber: Components.Parameters.ProjectNumber + /// The unique identifier of the user. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/DELETE/path/user_id`. + public var userId: Components.Parameters.UserId + /// The unique identifier of the project item. + /// + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/DELETE/path/item_id`. + public var itemId: Components.Parameters.ItemId + /// Creates a new `Path`. + /// + /// - Parameters: + /// - projectNumber: The project's number. + /// - userId: The unique identifier of the user. + /// - itemId: The unique identifier of the project item. + public init( + projectNumber: Components.Parameters.ProjectNumber, + userId: Components.Parameters.UserId, + itemId: Components.Parameters.ItemId + ) { + self.projectNumber = projectNumber + self.userId = userId + self.itemId = itemId + } + } + public var path: Operations.ProjectsDeleteItemForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{user_id}/projectsV2/{project_number}/items/{item_id}/DELETE/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsDeleteItemForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - headers: + public init( + path: Operations.ProjectsDeleteItemForUser.Input.Path, + headers: Operations.ProjectsDeleteItemForUser.Input.Headers = .init() + ) { + self.path = path + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct NoContent: Sendable, Hashable { + /// Creates a new `NoContent`. + public init() {} + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)/responses/204`. + /// + /// HTTP response code: `204 noContent`. + case noContent(Operations.ProjectsDeleteItemForUser.Output.NoContent) + /// Response + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)/responses/204`. + /// + /// HTTP response code: `204 noContent`. + public static var noContent: Self { + .noContent(.init()) + } + /// The associated value of the enum case if `self` is `.noContent`. + /// + /// - Throws: An error if `self` is not `.noContent`. + /// - SeeAlso: `.noContent`. + public var noContent: Operations.ProjectsDeleteItemForUser.Output.NoContent { + get throws { + switch self { + case let .noContent(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "noContent", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{user_id}/projectsV2/{project_number}/items/{item_id}/delete(projects/delete-item-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } + /// List projects for user + /// + /// List all projects owned by a specific user accessible by the authenticated user. + /// + /// - Remark: HTTP `GET /users/{username}/projectsV2`. + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)`. + public enum ProjectsListForUser { + public static let id: Swift.String = "projects/list-for-user" + public struct Input: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/path`. + public struct Path: Sendable, Hashable { + /// The handle for the GitHub user account. + /// + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/path/username`. + public var username: Components.Parameters.Username + /// Creates a new `Path`. + /// + /// - Parameters: + /// - username: The handle for the GitHub user account. + public init(username: Components.Parameters.Username) { + self.username = username + } + } + public var path: Operations.ProjectsListForUser.Input.Path + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/query`. + public struct Query: Sendable, Hashable { + /// Limit results to projects of the specified type. + /// + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/query/q`. + public var q: Swift.String? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/query/before`. + public var before: Components.Parameters.PaginationBefore? + /// A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/query/after`. + public var after: Components.Parameters.PaginationAfter? + /// The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/query/per_page`. + public var perPage: Components.Parameters.PerPage? + /// Creates a new `Query`. + /// + /// - Parameters: + /// - q: Limit results to projects of the specified type. + /// - before: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - after: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + /// - perPage: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + public init( + q: Swift.String? = nil, + before: Components.Parameters.PaginationBefore? = nil, + after: Components.Parameters.PaginationAfter? = nil, + perPage: Components.Parameters.PerPage? = nil + ) { + self.q = q + self.before = before + self.after = after + self.perPage = perPage + } + } + public var query: Operations.ProjectsListForUser.Input.Query + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/header`. + public struct Headers: Sendable, Hashable { + public var accept: [OpenAPIRuntime.AcceptHeaderContentType] + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - accept: + public init(accept: [OpenAPIRuntime.AcceptHeaderContentType] = .defaultValues()) { + self.accept = accept + } + } + public var headers: Operations.ProjectsListForUser.Input.Headers + /// Creates a new `Input`. + /// + /// - Parameters: + /// - path: + /// - query: + /// - headers: + public init( + path: Operations.ProjectsListForUser.Input.Path, + query: Operations.ProjectsListForUser.Input.Query = .init(), + headers: Operations.ProjectsListForUser.Input.Headers = .init() + ) { + self.path = path + self.query = query + self.headers = headers + } + } + @frozen public enum Output: Sendable, Hashable { + public struct Ok: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/responses/200/headers`. + public struct Headers: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/responses/200/headers/Link`. + public var link: Components.Headers.Link? + /// Creates a new `Headers`. + /// + /// - Parameters: + /// - link: + public init(link: Components.Headers.Link? = nil) { + self.link = link + } + } + /// Received HTTP response headers + public var headers: Operations.ProjectsListForUser.Output.Ok.Headers + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/responses/200/content`. + @frozen public enum Body: Sendable, Hashable { + /// - Remark: Generated from `#/paths/users/{username}/projectsV2/GET/responses/200/content/application\/json`. + case json([Components.Schemas.ProjectsV2]) + /// The associated value of the enum case if `self` is `.json`. + /// + /// - Throws: An error if `self` is not `.json`. + /// - SeeAlso: `.json`. + public var json: [Components.Schemas.ProjectsV2] { + get throws { + switch self { + case let .json(body): + return body + } + } + } + } + /// Received HTTP response body + public var body: Operations.ProjectsListForUser.Output.Ok.Body + /// Creates a new `Ok`. + /// + /// - Parameters: + /// - headers: Received HTTP response headers + /// - body: Received HTTP response body + public init( + headers: Operations.ProjectsListForUser.Output.Ok.Headers = .init(), + body: Operations.ProjectsListForUser.Output.Ok.Body + ) { + self.headers = headers + self.body = body + } + } + /// Response + /// + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)/responses/200`. + /// + /// HTTP response code: `200 ok`. + case ok(Operations.ProjectsListForUser.Output.Ok) + /// The associated value of the enum case if `self` is `.ok`. + /// + /// - Throws: An error if `self` is not `.ok`. + /// - SeeAlso: `.ok`. + public var ok: Operations.ProjectsListForUser.Output.Ok { + get throws { + switch self { + case let .ok(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "ok", + response: self + ) + } + } + } + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + case notModified(Components.Responses.NotModified) + /// Not modified + /// + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)/responses/304`. + /// + /// HTTP response code: `304 notModified`. + public static var notModified: Self { + .notModified(.init()) + } + /// The associated value of the enum case if `self` is `.notModified`. + /// + /// - Throws: An error if `self` is not `.notModified`. + /// - SeeAlso: `.notModified`. + public var notModified: Components.Responses.NotModified { + get throws { + switch self { + case let .notModified(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "notModified", + response: self + ) + } + } + } + /// Forbidden + /// + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)/responses/403`. + /// + /// HTTP response code: `403 forbidden`. + case forbidden(Components.Responses.Forbidden) + /// The associated value of the enum case if `self` is `.forbidden`. + /// + /// - Throws: An error if `self` is not `.forbidden`. + /// - SeeAlso: `.forbidden`. + public var forbidden: Components.Responses.Forbidden { + get throws { + switch self { + case let .forbidden(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "forbidden", + response: self + ) + } + } + } + /// Requires authentication + /// + /// - Remark: Generated from `#/paths//users/{username}/projectsV2/get(projects/list-for-user)/responses/401`. + /// + /// HTTP response code: `401 unauthorized`. + case unauthorized(Components.Responses.RequiresAuthentication) + /// The associated value of the enum case if `self` is `.unauthorized`. + /// + /// - Throws: An error if `self` is not `.unauthorized`. + /// - SeeAlso: `.unauthorized`. + public var unauthorized: Components.Responses.RequiresAuthentication { + get throws { + switch self { + case let .unauthorized(response): + return response + default: + try throwUnexpectedResponseStatus( + expectedStatus: "unauthorized", + response: self + ) + } + } + } + /// Undocumented response. + /// + /// A response with a code that is not documented in the OpenAPI document. + case undocumented(statusCode: Swift.Int, OpenAPIRuntime.UndocumentedPayload) + } + @frozen public enum AcceptableContentType: AcceptableProtocol { + case json + case other(Swift.String) + public init?(rawValue: Swift.String) { + switch rawValue.lowercased() { + case "application/json": + self = .json + default: + self = .other(rawValue) + } + } + public var rawValue: Swift.String { + switch self { + case let .other(string): + return string + case .json: + return "application/json" + } + } + public static var allCases: [Self] { + [ + .json + ] + } + } + } +}