lib/vr_chat/model/user.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.User do
  @moduledoc """
  
  """

  @derive [Poison.Encoder]
  defstruct [
    :allowAvatarCopying,
    :bio,
    :bioLinks,
    :currentAvatarImageUrl,
    :currentAvatarThumbnailImageUrl,
    :date_joined,
    :developerType,
    :displayName,
    :friendKey,
    :id,
    :instanceId,
    :isFriend,
    :last_login,
    :last_platform,
    :location,
    :profilePicOverride,
    :state,
    :status,
    :statusDescription,
    :tags,
    :userIcon,
    :username,
    :worldId
  ]

  @type t :: %__MODULE__{
    :allowAvatarCopying => boolean(),
    :bio => String.t,
    :bioLinks => [String.t],
    :currentAvatarImageUrl => String.t,
    :currentAvatarThumbnailImageUrl => String.t,
    :date_joined => Date.t,
    :developerType => VRChat.Model.DeveloperType.t,
    :displayName => String.t,
    :friendKey => String.t,
    :id => String.t,
    :instanceId => String.t | nil,
    :isFriend => boolean(),
    :last_login => String.t,
    :last_platform => String.t,
    :location => String.t | nil,
    :profilePicOverride => String.t,
    :state => VRChat.Model.UserState.t,
    :status => VRChat.Model.UserStatus.t,
    :statusDescription => String.t,
    :tags => [VRChat.Model.String.t],
    :userIcon => String.t,
    :username => String.t,
    :worldId => String.t | nil
  }
end

defimpl Poison.Decoder, for: VRChat.Model.User do
  import VRChat.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:date_joined, :date, nil, options)
    |> deserialize(:developerType, :struct, VRChat.Model.DeveloperType, options)
    |> deserialize(:state, :struct, VRChat.Model.UserState, options)
    |> deserialize(:status, :struct, VRChat.Model.UserStatus, options)
  end
end