lib/vr_chat/model/world.ex

# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.

defmodule VRChat.Model.World do
  @moduledoc """
  
  """

  @derive [Poison.Encoder]
  defstruct [
    :assetUrl,
    :assetUrlObject,
    :authorId,
    :authorName,
    :capacity,
    :created_at,
    :description,
    :favorites,
    :featured,
    :heat,
    :id,
    :imageUrl,
    :instances,
    :labsPublicationDate,
    :name,
    :namespace,
    :occupants,
    :organization,
    :pluginUrlObject,
    :popularity,
    :previewYoutubeId,
    :privateOccupants,
    :publicOccupants,
    :publicationDate,
    :releaseStatus,
    :tags,
    :thumbnailImageUrl,
    :unityPackageUrlObject,
    :unityPackages,
    :updated_at,
    :version,
    :visits
  ]

  @type t :: %__MODULE__{
    :assetUrl => String.t,
    :assetUrlObject => map(),
    :authorId => String.t,
    :authorName => String.t,
    :capacity => integer(),
    :created_at => DateTime.t,
    :description => String.t,
    :favorites => integer() | nil,
    :featured => boolean(),
    :heat => integer(),
    :id => String.t,
    :imageUrl => String.t,
    :instances => [[AnyType]] | nil,
    :labsPublicationDate => String.t,
    :name => String.t,
    :namespace => String.t,
    :occupants => integer() | nil,
    :organization => String.t,
    :pluginUrlObject => map(),
    :popularity => integer(),
    :previewYoutubeId => String.t | nil,
    :privateOccupants => integer() | nil,
    :publicOccupants => integer() | nil,
    :publicationDate => String.t,
    :releaseStatus => VRChat.Model.ReleaseStatus.t,
    :tags => [VRChat.Model.String.t],
    :thumbnailImageUrl => String.t,
    :unityPackageUrlObject => map(),
    :unityPackages => [VRChat.Model.UnityPackage.t],
    :updated_at => DateTime.t,
    :version => integer(),
    :visits => integer()
  }
end

defimpl Poison.Decoder, for: VRChat.Model.World do
  import VRChat.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:releaseStatus, :struct, VRChat.Model.ReleaseStatus, options)
    |> deserialize(:unityPackages, :list, VRChat.Model.UnityPackage, options)
  end
end