defmodule GitHub.Issue.SearchResultItem do @moduledoc """ Provides struct and type for IssueSearchResultItem """ @type t :: %__MODULE__{ active_lock_reason: String.t() | nil, assignee: GitHub.User.simple() | nil, assignees: [GitHub.User.simple()] | nil, author_association: String.t(), body: String.t() | nil, body_html: String.t() | nil, body_text: String.t() | nil, closed_at: String.t() | nil, comments: integer, comments_url: String.t(), created_at: String.t(), draft: boolean | nil, events_url: String.t(), html_url: String.t(), id: integer, labels: [map], labels_url: String.t(), locked: boolean, milestone: GitHub.Milestone.t() | nil, node_id: String.t(), number: integer, performed_via_github_app: GitHub.App.t() | nil, pull_request: map | nil, reactions: GitHub.Reaction.Rollup.t() | nil, repository: GitHub.Repository.t() | nil, repository_url: String.t(), score: number, state: String.t(), state_reason: String.t() | nil, text_matches: [map] | nil, timeline_url: String.t() | nil, title: String.t(), updated_at: String.t(), url: String.t(), user: GitHub.User.simple() | nil } defstruct [ :active_lock_reason, :assignee, :assignees, :author_association, :body, :body_html, :body_text, :closed_at, :comments, :comments_url, :created_at, :draft, :events_url, :html_url, :id, :labels, :labels_url, :locked, :milestone, :node_id, :number, :performed_via_github_app, :pull_request, :reactions, :repository, :repository_url, :score, :state, :state_reason, :text_matches, :timeline_url, :title, :updated_at, :url, :user ] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:t) do [ active_lock_reason: {:nullable, :string}, assignee: {:nullable, {GitHub.User, :simple}}, assignees: {:nullable, {:array, {GitHub.User, :simple}}}, author_association: :string, body: :string, body_html: :string, body_text: :string, closed_at: {:nullable, :string}, comments: :integer, comments_url: :string, created_at: :string, draft: :boolean, events_url: :string, html_url: :string, id: :integer, labels: {:array, :map}, labels_url: :string, locked: :boolean, milestone: {:nullable, {GitHub.Milestone, :t}}, node_id: :string, number: :integer, performed_via_github_app: {:nullable, {GitHub.App, :t}}, pull_request: :map, reactions: {GitHub.Reaction.Rollup, :t}, repository: {GitHub.Repository, :t}, repository_url: :string, score: :number, state: :string, state_reason: {:nullable, :string}, text_matches: {:array, :map}, timeline_url: :string, title: :string, updated_at: :string, url: :string, user: {:nullable, {GitHub.User, :simple}} ] end end