defmodule GitHub.OrgMembership do @moduledoc """ Provides struct and type for OrgMembership """ @type t :: %__MODULE__{ organization: GitHub.Organization.simple(), organization_url: String.t(), permissions: map | nil, role: String.t(), state: String.t(), url: String.t(), user: GitHub.User.simple() | nil } defstruct [:organization, :organization_url, :permissions, :role, :state, :url, :user] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:t) do [ organization: {GitHub.Organization, :simple}, organization_url: :string, permissions: :map, role: :string, state: :string, url: :string, user: {:nullable, {GitHub.User, :simple}} ] end end