defmodule GitHub.Hook.Delivery do @moduledoc """ Provides struct and type for a Hook.Delivery """ use GitHub.Encoder @type t :: %__MODULE__{ __info__: map, action: String.t() | nil, delivered_at: DateTime.t(), duration: number, event: String.t(), guid: String.t(), id: integer, installation_id: integer | nil, redelivery: boolean, repository_id: integer | nil, request: GitHub.Hook.DeliveryRequest.t(), response: GitHub.Hook.DeliveryResponse.t(), status: String.t(), status_code: integer, url: String.t() | nil } defstruct [ :__info__, :action, :delivered_at, :duration, :event, :guid, :id, :installation_id, :redelivery, :repository_id, :request, :response, :status, :status_code, :url ] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:t) do [ action: {:union, [{:string, :generic}, :null]}, delivered_at: {:string, :date_time}, duration: :number, event: {:string, :generic}, guid: {:string, :generic}, id: :integer, installation_id: {:union, [:integer, :null]}, redelivery: :boolean, repository_id: {:union, [:integer, :null]}, request: {GitHub.Hook.DeliveryRequest, :t}, response: {GitHub.Hook.DeliveryResponse, :t}, status: {:string, :generic}, status_code: :integer, url: {:string, :generic} ] end end