lib/schemas/project/collaborator_permission.ex

defmodule GitHub.Project.CollaboratorPermission do
  @moduledoc """
  Provides struct and type for a Project.CollaboratorPermission
  """
  use GitHub.Encoder

  @type t :: %__MODULE__{__info__: map, permission: String.t(), user: GitHub.User.simple() | nil}

  defstruct [:__info__, :permission, :user]

  @doc false
  @spec __fields__(atom) :: keyword
  def __fields__(type \\ :t)

  def __fields__(:t) do
    [permission: {:string, :generic}, user: {:union, [{GitHub.User, :simple}, :null]}]
  end
end