defmodule GitHub.Issue.Event do @moduledoc """ Provides struct and type for IssueEvent """ @type t :: %__MODULE__{ actor: GitHub.User.simple() | nil, assignee: GitHub.User.simple() | nil, assigner: GitHub.User.simple() | nil, author_association: String.t() | nil, commit_id: String.t() | nil, commit_url: String.t() | nil, created_at: String.t(), dismissed_review: GitHub.Issue.EventDismissedReview.t() | nil, event: String.t(), id: integer, issue: GitHub.Issue.t() | nil, label: GitHub.Issue.EventLabel.t() | nil, lock_reason: String.t() | nil, milestone: GitHub.Issue.EventMilestone.t() | nil, node_id: String.t(), performed_via_github_app: GitHub.Integration.t() | nil, project_card: GitHub.Issue.EventProjectCard.t() | nil, rename: GitHub.Issue.EventRename.t() | nil, requested_reviewer: GitHub.User.simple() | nil, requested_team: GitHub.Team.t() | nil, review_requester: GitHub.User.simple() | nil, url: String.t() } defstruct [ :actor, :assignee, :assigner, :author_association, :commit_id, :commit_url, :created_at, :dismissed_review, :event, :id, :issue, :label, :lock_reason, :milestone, :node_id, :performed_via_github_app, :project_card, :rename, :requested_reviewer, :requested_team, :review_requester, :url ] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:t) do [ actor: {GitHub.User, :simple}, assignee: {GitHub.User, :simple}, assigner: {GitHub.User, :simple}, author_association: :string, commit_id: :string, commit_url: :string, created_at: :string, dismissed_review: {GitHub.Issue.EventDismissedReview, :t}, event: :string, id: :integer, issue: {GitHub.Issue, :t}, label: {GitHub.Issue.EventLabel, :t}, lock_reason: :string, milestone: {GitHub.Issue.EventMilestone, :t}, node_id: :string, performed_via_github_app: {GitHub.Integration, :t}, project_card: {GitHub.Issue.EventProjectCard, :t}, rename: {GitHub.Issue.EventRename, :t}, requested_reviewer: {GitHub.User, :simple}, requested_team: {GitHub.Team, :t}, review_requester: {GitHub.User, :simple}, url: :string ] end end