go-KodeStarter/structures/GitOrgsRepoResponse.go
2023-06-12 22:40:22 -04:00

162 lines
9.8 KiB
Go

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"`
}