import Foundation /// `repo settings show` — admin-only view of the repo's control knobs. /// Every field is omitted at its zero value, so absent means default. nonisolated struct RepoSettings: Decodable, Sendable, Hashable { let protectedBranches: [String]? let requireSignedCommits: Bool? let requireChecks: Bool? let requireApprovals: Int? let requireResolved: Bool? let gitDaemon: Bool? let archived: Bool? let website: String? enum CodingKeys: String, CodingKey { case protectedBranches = "protected_branches" case requireSignedCommits = "require_signed_commits" case requireChecks = "require_checks" case requireApprovals = "require_approvals" case requireResolved = "require_resolved" case gitDaemon = "git_daemon" case archived, website } var branches: [String] { protectedBranches ?? [] } }