# 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