Current section
Files
Jump to
Current section
Files
lib/api/structs/pull_request.ex
# Generated by `mix github.gen` from docs/github-api/api.github.com.json.
# Do not edit by hand; re-run the task instead.
defmodule Noizu.Github.PullRequest do
@moduledoc false
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
]
def from_json(json, headers \\ [])
def from_json(nil, _headers), do: nil
def from_json(list, headers) when is_list(list) do
Enum.map(list, &from_json(&1, headers))
end
def from_json(json, _headers) when is_map(json) do
%__MODULE__{
_links: Map.get(json, :_links),
active_lock_reason: Map.get(json, :active_lock_reason),
additions: Map.get(json, :additions),
assignee: Noizu.Github.NullableSimpleUser.from_json(Map.get(json, :assignee)),
assignees:
Enum.map(Map.get(json, :assignees) || [], &Noizu.Github.SimpleUser.from_json(&1)),
author_association: Map.get(json, :author_association),
auto_merge: Noizu.Github.AutoMerge.from_json(Map.get(json, :auto_merge)),
base: Map.get(json, :base),
body: Map.get(json, :body),
changed_files: Map.get(json, :changed_files),
closed_at: Map.get(json, :closed_at),
comments: Map.get(json, :comments),
comments_url: Map.get(json, :comments_url),
commits: Map.get(json, :commits),
commits_url: Map.get(json, :commits_url),
created_at: Map.get(json, :created_at),
deletions: Map.get(json, :deletions),
diff_url: Map.get(json, :diff_url),
draft: Map.get(json, :draft),
head: Map.get(json, :head),
html_url: Map.get(json, :html_url),
id: Map.get(json, :id),
issue_url: Map.get(json, :issue_url),
labels: Map.get(json, :labels),
locked: Map.get(json, :locked),
maintainer_can_modify: Map.get(json, :maintainer_can_modify),
merge_commit_sha: Map.get(json, :merge_commit_sha),
mergeable: Map.get(json, :mergeable),
mergeable_state: Map.get(json, :mergeable_state),
merged: Map.get(json, :merged),
merged_at: Map.get(json, :merged_at),
merged_by: Noizu.Github.NullableSimpleUser.from_json(Map.get(json, :merged_by)),
milestone: Noizu.Github.NullableMilestone.from_json(Map.get(json, :milestone)),
node_id: Map.get(json, :node_id),
number: Map.get(json, :number),
patch_url: Map.get(json, :patch_url),
rebaseable: Map.get(json, :rebaseable),
requested_reviewers:
Enum.map(
Map.get(json, :requested_reviewers) || [],
&Noizu.Github.SimpleUser.from_json(&1)
),
requested_teams:
Enum.map(Map.get(json, :requested_teams) || [], &Noizu.Github.TeamSimple.from_json(&1)),
review_comment_url: Map.get(json, :review_comment_url),
review_comments: Map.get(json, :review_comments),
review_comments_url: Map.get(json, :review_comments_url),
state: Map.get(json, :state),
statuses_url: Map.get(json, :statuses_url),
title: Map.get(json, :title),
updated_at: Map.get(json, :updated_at),
url: Map.get(json, :url),
user: Noizu.Github.SimpleUser.from_json(Map.get(json, :user))
}
end
def from_json(other, _headers), do: other
end