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.App.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: {:nullable, {GitHub.User, :simple}},
assignee: {:nullable, {GitHub.User, :simple}},
assigner: {:nullable, {GitHub.User, :simple}},
author_association: :string,
commit_id: {:nullable, :string},
commit_url: {:nullable, :string},
created_at: :string,
dismissed_review: {GitHub.Issue.EventDismissedReview, :t},
event: :string,
id: :integer,
issue: {:nullable, {GitHub.Issue, :t}},
label: {GitHub.Issue.EventLabel, :t},
lock_reason: {:nullable, :string},
milestone: {GitHub.Issue.EventMilestone, :t},
node_id: :string,
performed_via_github_app: {:nullable, {GitHub.App, :t}},
project_card: {GitHub.Issue.EventProjectCard, :t},
rename: {GitHub.Issue.EventRename, :t},
requested_reviewer: {:nullable, {GitHub.User, :simple}},
requested_team: {GitHub.Team, :t},
review_requester: {:nullable, {GitHub.User, :simple}},
url: :string
]
end
end