package structures // The GitOrgsRepoResponse type contains various fields related to a Git repository, including // information about the owner, name, description, permissions, and more. // @property {int} ID - The unique identifier for the repository. // @property Owner - An object containing information about the owner of the repository, including // their ID, login, full name, email, avatar URL, language, admin status, last login time, creation // time, and various other details. // @property {string} Name - The name of the repository. // @property {string} FullName - The full name of the repository, including the owner's username or // organization name. // @property {string} Description - A struct that represents the response from the GitHub API when // retrieving information about a repository belonging to an organization. It contains various // properties such as the repository ID, owner information, name, description, size, language, number // of stars, forks, watchers, open issues, and more. // @property {bool} Empty - a boolean value indicating whether the repository is empty or not. // @property {bool} Private - A boolean value indicating whether the repository is private or not. // @property {bool} Fork - A boolean value indicating whether the repository is a fork of another // repository. // @property {bool} Template - A boolean value indicating whether the repository is a template // repository or not. If it is a template repository, it can be used as a starting point for creating // new repositories with the same structure and content. // @property Parent - This property represents the parent repository of a forked repository. If the // repository is not a fork, this property will be null. // @property {bool} Mirror - A boolean value indicating whether the repository is a mirror or not. A // mirror repository is a read-only copy of another repository that is automatically kept in sync with // the original repository. // @property {int} Size - The size of the repository in bytes. // @property {string} Language - The primary programming language used in the repository. // @property {string} LanguagesURL - The URL to retrieve the languages used in the repository. // @property {string} HTMLURL - The URL of the repository on the web. // @property {string} SSHURL - The SSH URL of the repository. This is the URL that can be used to clone // the repository using the SSH protocol. // @property {string} CloneURL - The URL that can be used to clone the repository. // @property {string} OriginalURL - The original URL of the repository before it was mirrored. // @property {string} Website - The website associated with the repository. // @property {int} StarsCount - The number of stars (or likes) that the repository has received on // GitHub. // @property {int} ForksCount - The number of times this repository has been forked. // @property {int} WatchersCount - The number of users who have starred or are watching the repository. // @property {int} OpenIssuesCount - The number of open issues in the repository. // @property {int} OpenPrCounter - The number of open pull requests for the repository. // @property {int} ReleaseCounter - The number of releases for the repository. // @property {string} DefaultBranch - The default branch of the repository. // @property {bool} Archived - A boolean value indicating whether the repository has been archived or // not. // @property {string} CreatedAt - The date and time when the repository was created. // @property {string} UpdatedAt - The date and time when the repository was last updated. // @property Permissions - This property contains information about the permissions granted to users or // teams for the repository. It includes three boolean values: admin, push, and pull. Admin grants full // control over the repository, push allows users to push changes to the repository, and pull allows // users to pull changes from the repository. // @property {bool} HasIssues - a boolean value indicating whether the repository has issues enabled // @property InternalTracker - This property contains information about the internal issue tracker for // the repository, including whether the time tracker is enabled, whether only contributors can track // time, and whether issue dependencies are enabled. // @property {bool} HasWiki - A boolean value indicating whether the repository has a wiki. // @property {bool} HasPullRequests - A boolean value indicating whether the repository has pull // requests enabled or not. // @property {bool} HasProjects - A boolean value indicating whether the repository has GitHub Projects // enabled. // @property {bool} IgnoreWhitespaceConflicts - A boolean value indicating whether or not whitespace // conflicts should be ignored in the repository. This can be useful when merging code that has // differences in whitespace formatting. // @property {bool} AllowMergeCommits - A boolean value indicating whether merge commits are allowed in // the repository. // @property {bool} AllowRebase - A boolean value indicating whether or not rebase is allowed for this // repository. // @property {bool} AllowRebaseExplicit - A boolean value indicating whether explicit rebasing is // allowed in the repository. // @property {bool} AllowSquashMerge - A boolean value indicating whether or not squash merging is // allowed for pull requests in the repository. Squash merging is a way to merge changes from a branch // into another branch by condensing all the commits into a single commit. // @property {string} DefaultMergeStyle - The default merge style for pull requests in the repository. // It can be one of three values: "merge", "rebase", or "squash". // @property {string} AvatarURL - The URL of the avatar for the owner of the repository. // @property {bool} Internal - A boolean value indicating whether the repository is internal or not. An // internal repository is only visible to members of the organization that owns it. // @property {string} MirrorInterval - The interval at which the repository is mirrored (if it is a // mirror). // @property {string} MirrorUpdated - The date and time when the repository was last updated as a // mirrored repository. // @property RepoTransfer - This property is of type interface{} and represents the transfer of // ownership of the repository. It can be null if there is no transfer in progress. type GitOrgsRepoResponse struct { ID int `json:"id"` Owner struct { ID int `json:"id"` Login string `json:"login"` FullName string `json:"full_name"` Email string `json:"email"` AvatarURL string `json:"avatar_url"` Language string `json:"language"` IsAdmin bool `json:"is_admin"` LastLogin string `json:"last_login"` Created string `json:"created"` Restricted bool `json:"restricted"` Active bool `json:"active"` ProhibitLogin bool `json:"prohibit_login"` Location string `json:"location"` Website string `json:"website"` Description string `json:"description"` Visibility string `json:"visibility"` FollowersCount int `json:"followers_count"` FollowingCount int `json:"following_count"` StarredReposCount int `json:"starred_repos_count"` Username string `json:"username"` } `json:"owner"` Name string `json:"name"` FullName string `json:"full_name"` Description string `json:"description"` Empty bool `json:"empty"` Private bool `json:"private"` Fork bool `json:"fork"` Template bool `json:"template"` Parent interface{} `json:"parent"` Mirror bool `json:"mirror"` Size int `json:"size"` Language string `json:"language"` LanguagesURL string `json:"languages_url"` HTMLURL string `json:"html_url"` SSHURL string `json:"ssh_url"` CloneURL string `json:"clone_url"` OriginalURL string `json:"original_url"` Website string `json:"website"` StarsCount int `json:"stars_count"` ForksCount int `json:"forks_count"` WatchersCount int `json:"watchers_count"` OpenIssuesCount int `json:"open_issues_count"` OpenPrCounter int `json:"open_pr_counter"` ReleaseCounter int `json:"release_counter"` DefaultBranch string `json:"default_branch"` Archived bool `json:"archived"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` Permissions struct { Admin bool `json:"admin"` Push bool `json:"push"` Pull bool `json:"pull"` } `json:"permissions"` HasIssues bool `json:"has_issues"` InternalTracker struct { EnableTimeTracker bool `json:"enable_time_tracker"` AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"` EnableIssueDependencies bool `json:"enable_issue_dependencies"` } `json:"internal_tracker"` HasWiki bool `json:"has_wiki"` HasPullRequests bool `json:"has_pull_requests"` HasProjects bool `json:"has_projects"` IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"` AllowMergeCommits bool `json:"allow_merge_commits"` AllowRebase bool `json:"allow_rebase"` AllowRebaseExplicit bool `json:"allow_rebase_explicit"` AllowSquashMerge bool `json:"allow_squash_merge"` DefaultMergeStyle string `json:"default_merge_style"` AvatarURL string `json:"avatar_url"` Internal bool `json:"internal"` MirrorInterval string `json:"mirror_interval"` MirrorUpdated string `json:"mirror_updated"` RepoTransfer interface{} `json:"repo_transfer"` }