defmodule GitHub.Repository do
@moduledoc """
Provides struct and types for FullRepository, MinimalRepository, Repository, SimpleRepository
"""
use GitHub.Encoder
@type full :: %__MODULE__{
__info__: map,
allow_auto_merge: boolean | nil,
allow_forking: boolean | nil,
allow_merge_commit: boolean | nil,
allow_rebase_merge: boolean | nil,
allow_squash_merge: boolean | nil,
allow_update_branch: boolean | nil,
anonymous_access_enabled: boolean | nil,
archive_url: String.t(),
archived: boolean,
assignees_url: String.t(),
blobs_url: String.t(),
branches_url: String.t(),
clone_url: String.t(),
code_of_conduct: GitHub.CodeOfConduct.simple() | nil,
collaborators_url: String.t(),
comments_url: String.t(),
commits_url: String.t(),
compare_url: String.t(),
contents_url: String.t(),
contributors_url: String.t(),
created_at: String.t(),
default_branch: String.t(),
delete_branch_on_merge: boolean | nil,
deployments_url: String.t(),
description: String.t() | nil,
disabled: boolean,
downloads_url: String.t(),
events_url: String.t(),
fork: boolean,
forks: integer,
forks_count: integer,
forks_url: String.t(),
full_name: String.t(),
git_commits_url: String.t(),
git_refs_url: String.t(),
git_tags_url: String.t(),
git_url: String.t(),
has_discussions: boolean,
has_downloads: boolean,
has_issues: boolean,
has_pages: boolean,
has_projects: boolean,
has_wiki: boolean,
homepage: String.t() | nil,
hooks_url: String.t(),
html_url: String.t(),
id: integer,
is_template: boolean | nil,
issue_comment_url: String.t(),
issue_events_url: String.t(),
issues_url: String.t(),
keys_url: String.t(),
labels_url: String.t(),
language: String.t() | nil,
languages_url: String.t(),
license: GitHub.License.simple() | nil,
master_branch: String.t() | nil,
merge_commit_message: String.t() | nil,
merge_commit_title: String.t() | nil,
merges_url: String.t(),
milestones_url: String.t(),
mirror_url: String.t() | nil,
name: String.t(),
network_count: integer,
node_id: String.t(),
notifications_url: String.t(),
open_issues: integer,
open_issues_count: integer,
organization: GitHub.User.simple() | nil,
owner: GitHub.User.simple(),
parent: GitHub.Repository.t() | nil,
permissions: map | nil,
private: boolean,
pulls_url: String.t(),
pushed_at: String.t(),
releases_url: String.t(),
security_and_analysis: GitHub.SecurityAndAnalysis.t() | nil,
size: integer,
source: GitHub.Repository.t() | nil,
squash_merge_commit_message: String.t() | nil,
squash_merge_commit_title: String.t() | nil,
ssh_url: String.t(),
stargazers_count: integer,
stargazers_url: String.t(),
statuses_url: String.t(),
subscribers_count: integer,
subscribers_url: String.t(),
subscription_url: String.t(),
svn_url: String.t(),
tags_url: String.t(),
teams_url: String.t(),
temp_clone_token: String.t() | nil,
template_repository: GitHub.Repository.t() | nil,
topics: [String.t()] | nil,
trees_url: String.t(),
updated_at: String.t(),
url: String.t(),
use_squash_pr_title_as_default: boolean | nil,
visibility: String.t() | nil,
watchers: integer,
watchers_count: integer,
web_commit_signoff_required: boolean | nil
}
@type minimal :: %__MODULE__{
__info__: map,
allow_forking: boolean | nil,
archive_url: String.t(),
archived: boolean | nil,
assignees_url: String.t(),
blobs_url: String.t(),
branches_url: String.t(),
clone_url: String.t() | nil,
code_of_conduct: GitHub.CodeOfConduct.t() | nil,
collaborators_url: String.t(),
comments_url: String.t(),
commits_url: String.t(),
compare_url: String.t(),
contents_url: String.t(),
contributors_url: String.t(),
created_at: String.t() | nil,
default_branch: String.t() | nil,
delete_branch_on_merge: boolean | nil,
deployments_url: String.t(),
description: String.t() | nil,
disabled: boolean | nil,
downloads_url: String.t(),
events_url: String.t(),
fork: boolean,
forks: integer | nil,
forks_count: integer | nil,
forks_url: String.t(),
full_name: String.t(),
git_commits_url: String.t(),
git_refs_url: String.t(),
git_tags_url: String.t(),
git_url: String.t() | nil,
has_discussions: boolean | nil,
has_downloads: boolean | nil,
has_issues: boolean | nil,
has_pages: boolean | nil,
has_projects: boolean | nil,
has_wiki: boolean | nil,
homepage: String.t() | nil,
hooks_url: String.t(),
html_url: String.t(),
id: integer,
is_template: boolean | nil,
issue_comment_url: String.t(),
issue_events_url: String.t(),
issues_url: String.t(),
keys_url: String.t(),
labels_url: String.t(),
language: String.t() | nil,
languages_url: String.t(),
license: map | nil,
merges_url: String.t(),
milestones_url: String.t(),
mirror_url: String.t() | nil,
name: String.t(),
network_count: integer | nil,
node_id: String.t(),
notifications_url: String.t(),
open_issues: integer | nil,
open_issues_count: integer | nil,
owner: GitHub.User.simple(),
permissions: map | nil,
private: boolean,
pulls_url: String.t(),
pushed_at: String.t() | nil,
releases_url: String.t(),
role_name: String.t() | nil,
security_and_analysis: GitHub.SecurityAndAnalysis.t() | nil,
size: integer | nil,
ssh_url: String.t() | nil,
stargazers_count: integer | nil,
stargazers_url: String.t(),
statuses_url: String.t(),
subscribers_count: integer | nil,
subscribers_url: String.t(),
subscription_url: String.t(),
svn_url: String.t() | nil,
tags_url: String.t(),
teams_url: String.t(),
temp_clone_token: String.t() | nil,
topics: [String.t()] | nil,
trees_url: String.t(),
updated_at: String.t() | nil,
url: String.t(),
visibility: String.t() | nil,
watchers: integer | nil,
watchers_count: integer | nil,
web_commit_signoff_required: boolean | nil
}
@type simple :: %__MODULE__{
__info__: map,
archive_url: String.t(),
assignees_url: String.t(),
blobs_url: String.t(),
branches_url: String.t(),
collaborators_url: String.t(),
comments_url: String.t(),
commits_url: String.t(),
compare_url: String.t(),
contents_url: String.t(),
contributors_url: String.t(),
deployments_url: String.t(),
description: String.t() | nil,
downloads_url: String.t(),
events_url: String.t(),
fork: boolean,
forks_url: String.t(),
full_name: String.t(),
git_commits_url: String.t(),
git_refs_url: String.t(),
git_tags_url: String.t(),
hooks_url: String.t(),
html_url: String.t(),
id: integer,
issue_comment_url: String.t(),
issue_events_url: String.t(),
issues_url: String.t(),
keys_url: String.t(),
labels_url: String.t(),
languages_url: String.t(),
merges_url: String.t(),
milestones_url: String.t(),
name: String.t(),
node_id: String.t(),
notifications_url: String.t(),
owner: GitHub.User.simple(),
private: boolean,
pulls_url: String.t(),
releases_url: String.t(),
stargazers_url: String.t(),
statuses_url: String.t(),
subscribers_url: String.t(),
subscription_url: String.t(),
tags_url: String.t(),
teams_url: String.t(),
trees_url: String.t(),
url: String.t()
}
@type t :: %__MODULE__{
__info__: map,
allow_auto_merge: boolean | nil,
allow_forking: boolean | nil,
allow_merge_commit: boolean | nil,
allow_rebase_merge: boolean | nil,
allow_squash_merge: boolean | nil,
allow_update_branch: boolean | nil,
anonymous_access_enabled: boolean | nil,
archive_url: String.t(),
archived: boolean,
assignees_url: String.t(),
blobs_url: String.t(),
branches_url: String.t(),
clone_url: String.t(),
collaborators_url: String.t(),
comments_url: String.t(),
commits_url: String.t(),
compare_url: String.t(),
contents_url: String.t(),
contributors_url: String.t(),
created_at: String.t() | nil,
default_branch: String.t(),
delete_branch_on_merge: boolean | nil,
deployments_url: String.t(),
description: String.t() | nil,
disabled: boolean,
downloads_url: String.t(),
events_url: String.t(),
fork: boolean,
forks: integer,
forks_count: integer,
forks_url: String.t(),
full_name: String.t(),
git_commits_url: String.t(),
git_refs_url: String.t(),
git_tags_url: String.t(),
git_url: String.t(),
has_discussions: boolean | nil,
has_downloads: boolean,
has_issues: boolean,
has_pages: boolean,
has_projects: boolean,
has_wiki: boolean,
homepage: String.t() | nil,
hooks_url: String.t(),
html_url: String.t(),
id: integer,
is_template: boolean | nil,
issue_comment_url: String.t(),
issue_events_url: String.t(),
issues_url: String.t(),
keys_url: String.t(),
labels_url: String.t(),
language: String.t() | nil,
languages_url: String.t(),
license: GitHub.License.simple() | nil,
master_branch: String.t() | nil,
merge_commit_message: String.t() | nil,
merge_commit_title: String.t() | nil,
merges_url: String.t(),
milestones_url: String.t(),
mirror_url: String.t() | nil,
name: String.t(),
network_count: integer | nil,
node_id: String.t(),
notifications_url: String.t(),
open_issues: integer,
open_issues_count: integer,
organization: GitHub.User.simple() | nil,
owner: GitHub.User.simple(),
permissions: map | nil,
private: boolean,
pulls_url: String.t(),
pushed_at: String.t() | nil,
releases_url: String.t(),
size: integer,
squash_merge_commit_message: String.t() | nil,
squash_merge_commit_title: String.t() | nil,
ssh_url: String.t(),
stargazers_count: integer,
stargazers_url: String.t(),
starred_at: String.t() | nil,
statuses_url: String.t(),
subscribers_count: integer | nil,
subscribers_url: String.t(),
subscription_url: String.t(),
svn_url: String.t(),
tags_url: String.t(),
teams_url: String.t(),
temp_clone_token: String.t() | nil,
template_repository: map | nil,
topics: [String.t()] | nil,
trees_url: String.t(),
updated_at: String.t() | nil,
url: String.t(),
use_squash_pr_title_as_default: boolean | nil,
visibility: String.t() | nil,
watchers: integer,
watchers_count: integer,
web_commit_signoff_required: boolean | nil
}
defstruct [
:__info__,
:allow_auto_merge,
:allow_forking,
:allow_merge_commit,
:allow_rebase_merge,
:allow_squash_merge,
:allow_update_branch,
:anonymous_access_enabled,
:archive_url,
:archived,
:assignees_url,
:blobs_url,
:branches_url,
:clone_url,
:code_of_conduct,
:collaborators_url,
:comments_url,
:commits_url,
:compare_url,
:contents_url,
:contributors_url,
:created_at,
:default_branch,
:delete_branch_on_merge,
:deployments_url,
:description,
:disabled,
:downloads_url,
:events_url,
:fork,
:forks,
:forks_count,
:forks_url,
:full_name,
:git_commits_url,
:git_refs_url,
:git_tags_url,
:git_url,
:has_discussions,
:has_downloads,
:has_issues,
:has_pages,
:has_projects,
:has_wiki,
:homepage,
:hooks_url,
:html_url,
:id,
:is_template,
:issue_comment_url,
:issue_events_url,
:issues_url,
:keys_url,
:labels_url,
:language,
:languages_url,
:license,
:master_branch,
:merge_commit_message,
:merge_commit_title,
:merges_url,
:milestones_url,
:mirror_url,
:name,
:network_count,
:node_id,
:notifications_url,
:open_issues,
:open_issues_count,
:organization,
:owner,
:parent,
:permissions,
:private,
:pulls_url,
:pushed_at,
:releases_url,
:role_name,
:security_and_analysis,
:size,
:source,
:squash_merge_commit_message,
:squash_merge_commit_title,
:ssh_url,
:stargazers_count,
:stargazers_url,
:starred_at,
:statuses_url,
:subscribers_count,
:subscribers_url,
:subscription_url,
:svn_url,
:tags_url,
:teams_url,
:temp_clone_token,
:template_repository,
:topics,
:trees_url,
:updated_at,
:url,
:use_squash_pr_title_as_default,
:visibility,
:watchers,
:watchers_count,
:web_commit_signoff_required
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:full) do
[
allow_auto_merge: :boolean,
allow_forking: :boolean,
allow_merge_commit: :boolean,
allow_rebase_merge: :boolean,
allow_squash_merge: :boolean,
allow_update_branch: :boolean,
anonymous_access_enabled: :boolean,
archive_url: :string,
archived: :boolean,
assignees_url: :string,
blobs_url: :string,
branches_url: :string,
clone_url: :string,
code_of_conduct: {GitHub.CodeOfConduct, :simple},
collaborators_url: :string,
comments_url: :string,
commits_url: :string,
compare_url: :string,
contents_url: :string,
contributors_url: :string,
created_at: :string,
default_branch: :string,
delete_branch_on_merge: :boolean,
deployments_url: :string,
description: {:nullable, :string},
disabled: :boolean,
downloads_url: :string,
events_url: :string,
fork: :boolean,
forks: :integer,
forks_count: :integer,
forks_url: :string,
full_name: :string,
git_commits_url: :string,
git_refs_url: :string,
git_tags_url: :string,
git_url: :string,
has_discussions: :boolean,
has_downloads: :boolean,
has_issues: :boolean,
has_pages: :boolean,
has_projects: :boolean,
has_wiki: :boolean,
homepage: {:nullable, :string},
hooks_url: :string,
html_url: :string,
id: :integer,
is_template: :boolean,
issue_comment_url: :string,
issue_events_url: :string,
issues_url: :string,
keys_url: :string,
labels_url: :string,
language: {:nullable, :string},
languages_url: :string,
license: {:nullable, {GitHub.License, :simple}},
master_branch: :string,
merge_commit_message: :string,
merge_commit_title: :string,
merges_url: :string,
milestones_url: :string,
mirror_url: {:nullable, :string},
name: :string,
network_count: :integer,
node_id: :string,
notifications_url: :string,
open_issues: :integer,
open_issues_count: :integer,
organization: {:nullable, {GitHub.User, :simple}},
owner: {GitHub.User, :simple},
parent: {GitHub.Repository, :t},
permissions: :map,
private: :boolean,
pulls_url: :string,
pushed_at: :string,
releases_url: :string,
security_and_analysis: {:nullable, {GitHub.SecurityAndAnalysis, :t}},
size: :integer,
source: {GitHub.Repository, :t},
squash_merge_commit_message: :string,
squash_merge_commit_title: :string,
ssh_url: :string,
stargazers_count: :integer,
stargazers_url: :string,
statuses_url: :string,
subscribers_count: :integer,
subscribers_url: :string,
subscription_url: :string,
svn_url: :string,
tags_url: :string,
teams_url: :string,
temp_clone_token: {:nullable, :string},
template_repository: {:nullable, {GitHub.Repository, :t}},
topics: {:array, :string},
trees_url: :string,
updated_at: :string,
url: :string,
use_squash_pr_title_as_default: :boolean,
visibility: :string,
watchers: :integer,
watchers_count: :integer,
web_commit_signoff_required: :boolean
]
end
def __fields__(:minimal) do
[
allow_forking: :boolean,
archive_url: :string,
archived: :boolean,
assignees_url: :string,
blobs_url: :string,
branches_url: :string,
clone_url: :string,
code_of_conduct: {GitHub.CodeOfConduct, :t},
collaborators_url: :string,
comments_url: :string,
commits_url: :string,
compare_url: :string,
contents_url: :string,
contributors_url: :string,
created_at: {:nullable, :string},
default_branch: :string,
delete_branch_on_merge: :boolean,
deployments_url: :string,
description: {:nullable, :string},
disabled: :boolean,
downloads_url: :string,
events_url: :string,
fork: :boolean,
forks: :integer,
forks_count: :integer,
forks_url: :string,
full_name: :string,
git_commits_url: :string,
git_refs_url: :string,
git_tags_url: :string,
git_url: :string,
has_discussions: :boolean,
has_downloads: :boolean,
has_issues: :boolean,
has_pages: :boolean,
has_projects: :boolean,
has_wiki: :boolean,
homepage: {:nullable, :string},
hooks_url: :string,
html_url: :string,
id: :integer,
is_template: :boolean,
issue_comment_url: :string,
issue_events_url: :string,
issues_url: :string,
keys_url: :string,
labels_url: :string,
language: {:nullable, :string},
languages_url: :string,
license: {:nullable, :map},
merges_url: :string,
milestones_url: :string,
mirror_url: {:nullable, :string},
name: :string,
network_count: :integer,
node_id: :string,
notifications_url: :string,
open_issues: :integer,
open_issues_count: :integer,
owner: {GitHub.User, :simple},
permissions: :map,
private: :boolean,
pulls_url: :string,
pushed_at: {:nullable, :string},
releases_url: :string,
role_name: :string,
security_and_analysis: {:nullable, {GitHub.SecurityAndAnalysis, :t}},
size: :integer,
ssh_url: :string,
stargazers_count: :integer,
stargazers_url: :string,
statuses_url: :string,
subscribers_count: :integer,
subscribers_url: :string,
subscription_url: :string,
svn_url: :string,
tags_url: :string,
teams_url: :string,
temp_clone_token: :string,
topics: {:array, :string},
trees_url: :string,
updated_at: {:nullable, :string},
url: :string,
visibility: :string,
watchers: :integer,
watchers_count: :integer,
web_commit_signoff_required: :boolean
]
end
def __fields__(:simple) do
[
archive_url: :string,
assignees_url: :string,
blobs_url: :string,
branches_url: :string,
collaborators_url: :string,
comments_url: :string,
commits_url: :string,
compare_url: :string,
contents_url: :string,
contributors_url: :string,
deployments_url: :string,
description: {:nullable, :string},
downloads_url: :string,
events_url: :string,
fork: :boolean,
forks_url: :string,
full_name: :string,
git_commits_url: :string,
git_refs_url: :string,
git_tags_url: :string,
hooks_url: :string,
html_url: :string,
id: :integer,
issue_comment_url: :string,
issue_events_url: :string,
issues_url: :string,
keys_url: :string,
labels_url: :string,
languages_url: :string,
merges_url: :string,
milestones_url: :string,
name: :string,
node_id: :string,
notifications_url: :string,
owner: {GitHub.User, :simple},
private: :boolean,
pulls_url: :string,
releases_url: :string,
stargazers_url: :string,
statuses_url: :string,
subscribers_url: :string,
subscription_url: :string,
tags_url: :string,
teams_url: :string,
trees_url: :string,
url: :string
]
end
def __fields__(:t) do
[
allow_auto_merge: :boolean,
allow_forking: :boolean,
allow_merge_commit: :boolean,
allow_rebase_merge: :boolean,
allow_squash_merge: :boolean,
allow_update_branch: :boolean,
anonymous_access_enabled: :boolean,
archive_url: :string,
archived: :boolean,
assignees_url: :string,
blobs_url: :string,
branches_url: :string,
clone_url: :string,
collaborators_url: :string,
comments_url: :string,
commits_url: :string,
compare_url: :string,
contents_url: :string,
contributors_url: :string,
created_at: {:nullable, :string},
default_branch: :string,
delete_branch_on_merge: :boolean,
deployments_url: :string,
description: {:nullable, :string},
disabled: :boolean,
downloads_url: :string,
events_url: :string,
fork: :boolean,
forks: :integer,
forks_count: :integer,
forks_url: :string,
full_name: :string,
git_commits_url: :string,
git_refs_url: :string,
git_tags_url: :string,
git_url: :string,
has_discussions: :boolean,
has_downloads: :boolean,
has_issues: :boolean,
has_pages: :boolean,
has_projects: :boolean,
has_wiki: :boolean,
homepage: {:nullable, :string},
hooks_url: :string,
html_url: :string,
id: :integer,
is_template: :boolean,
issue_comment_url: :string,
issue_events_url: :string,
issues_url: :string,
keys_url: :string,
labels_url: :string,
language: {:nullable, :string},
languages_url: :string,
license: {:nullable, {GitHub.License, :simple}},
master_branch: :string,
merge_commit_message: :string,
merge_commit_title: :string,
merges_url: :string,
milestones_url: :string,
mirror_url: {:nullable, :string},
name: :string,
network_count: :integer,
node_id: :string,
notifications_url: :string,
open_issues: :integer,
open_issues_count: :integer,
organization: {:nullable, {GitHub.User, :simple}},
owner: {GitHub.User, :simple},
permissions: :map,
private: :boolean,
pulls_url: :string,
pushed_at: {:nullable, :string},
releases_url: :string,
size: :integer,
squash_merge_commit_message: :string,
squash_merge_commit_title: :string,
ssh_url: :string,
stargazers_count: :integer,
stargazers_url: :string,
starred_at: :string,
statuses_url: :string,
subscribers_count: :integer,
subscribers_url: :string,
subscription_url: :string,
svn_url: :string,
tags_url: :string,
teams_url: :string,
temp_clone_token: :string,
template_repository: {:nullable, :map},
topics: {:array, :string},
trees_url: :string,
updated_at: {:nullable, :string},
url: :string,
use_squash_pr_title_as_default: :boolean,
visibility: :string,
watchers: :integer,
watchers_count: :integer,
web_commit_signoff_required: :boolean
]
end
end