defmodule GitHub.PullRequest do
@moduledoc """
Provides struct and types for PullRequest, PullRequestSimple
"""
@type simple :: %__MODULE__{
_links: map,
active_lock_reason: String.t() | nil,
assignee: GitHub.User.simple() | nil,
assignees: [GitHub.User.simple()] | nil,
author_association: String.t(),
auto_merge: GitHub.AutoMerge.t() | nil,
base: map,
body: String.t() | nil,
closed_at: String.t() | nil,
comments_url: String.t(),
commits_url: String.t(),
created_at: String.t(),
diff_url: String.t(),
draft: boolean | nil,
head: map,
html_url: String.t(),
id: integer,
issue_url: String.t(),
labels: [map],
locked: boolean,
merge_commit_sha: String.t() | nil,
merged_at: String.t() | nil,
milestone: GitHub.Milestone.t() | nil,
node_id: String.t(),
number: integer,
patch_url: String.t(),
requested_reviewers: [GitHub.User.simple()] | nil,
requested_teams: [GitHub.Team.t()] | nil,
review_comment_url: String.t(),
review_comments_url: String.t(),
state: String.t(),
statuses_url: String.t(),
title: String.t(),
updated_at: String.t(),
url: String.t(),
user: GitHub.User.simple() | nil
}
@type t :: %__MODULE__{
_links: map,
active_lock_reason: String.t() | nil,
additions: integer,
assignee: GitHub.User.simple() | nil,
assignees: [GitHub.User.simple()] | nil,
author_association: String.t(),
auto_merge: GitHub.AutoMerge.t() | nil,
base: map,
body: String.t() | nil,
changed_files: integer,
closed_at: String.t() | nil,
comments: integer,
comments_url: String.t(),
commits: integer,
commits_url: String.t(),
created_at: String.t(),
deletions: integer,
diff_url: String.t(),
draft: boolean | nil,
head: map,
html_url: String.t(),
id: integer,
issue_url: String.t(),
labels: [map],
locked: boolean,
maintainer_can_modify: boolean,
merge_commit_sha: String.t() | nil,
mergeable: boolean | nil,
mergeable_state: String.t(),
merged: boolean,
merged_at: String.t() | nil,
merged_by: GitHub.User.simple() | nil,
milestone: GitHub.Milestone.t() | nil,
node_id: String.t(),
number: integer,
patch_url: String.t(),
rebaseable: boolean | nil,
requested_reviewers: [GitHub.User.simple()] | nil,
requested_teams: [GitHub.Team.simple()] | nil,
review_comment_url: String.t(),
review_comments: integer,
review_comments_url: String.t(),
state: String.t(),
statuses_url: String.t(),
title: String.t(),
updated_at: String.t(),
url: String.t(),
user: GitHub.User.simple() | nil
}
defstruct [
:_links,
:active_lock_reason,
:additions,
:assignee,
:assignees,
:author_association,
:auto_merge,
:base,
:body,
:changed_files,
:closed_at,
:comments,
:comments_url,
:commits,
:commits_url,
:created_at,
:deletions,
:diff_url,
:draft,
:head,
:html_url,
:id,
:issue_url,
:labels,
:locked,
:maintainer_can_modify,
:merge_commit_sha,
:mergeable,
:mergeable_state,
:merged,
:merged_at,
:merged_by,
:milestone,
:node_id,
:number,
:patch_url,
:rebaseable,
:requested_reviewers,
:requested_teams,
:review_comment_url,
:review_comments,
:review_comments_url,
:state,
:statuses_url,
:title,
:updated_at,
:url,
:user
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:simple) do
[
_links: :map,
active_lock_reason: :string,
assignee: {GitHub.User, :simple},
assignees: {:array, {GitHub.User, :simple}},
author_association: :string,
auto_merge: {GitHub.AutoMerge, :t},
base: :map,
body: :string,
closed_at: :string,
comments_url: :string,
commits_url: :string,
created_at: :string,
diff_url: :string,
draft: :boolean,
head: :map,
html_url: :string,
id: :integer,
issue_url: :string,
labels: {:array, :map},
locked: :boolean,
merge_commit_sha: :string,
merged_at: :string,
milestone: {GitHub.Milestone, :t},
node_id: :string,
number: :integer,
patch_url: :string,
requested_reviewers: {:array, {GitHub.User, :simple}},
requested_teams: {:array, {GitHub.Team, :t}},
review_comment_url: :string,
review_comments_url: :string,
state: :string,
statuses_url: :string,
title: :string,
updated_at: :string,
url: :string,
user: {GitHub.User, :simple}
]
end
def __fields__(:t) do
[
_links: :map,
active_lock_reason: :string,
additions: :integer,
assignee: {GitHub.User, :simple},
assignees: {:array, {GitHub.User, :simple}},
author_association: :string,
auto_merge: {GitHub.AutoMerge, :t},
base: :map,
body: :string,
changed_files: :integer,
closed_at: :string,
comments: :integer,
comments_url: :string,
commits: :integer,
commits_url: :string,
created_at: :string,
deletions: :integer,
diff_url: :string,
draft: :boolean,
head: :map,
html_url: :string,
id: :integer,
issue_url: :string,
labels: {:array, :map},
locked: :boolean,
maintainer_can_modify: :boolean,
merge_commit_sha: :string,
mergeable: :boolean,
mergeable_state: :string,
merged: :boolean,
merged_at: :string,
merged_by: {GitHub.User, :simple},
milestone: {GitHub.Milestone, :t},
node_id: :string,
number: :integer,
patch_url: :string,
rebaseable: :boolean,
requested_reviewers: {:array, {GitHub.User, :simple}},
requested_teams: {:array, {GitHub.Team, :simple}},
review_comment_url: :string,
review_comments: :integer,
review_comments_url: :string,
state: :string,
statuses_url: :string,
title: :string,
updated_at: :string,
url: :string,
user: {GitHub.User, :simple}
]
end
end