# 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.CurrentUser do
@moduledoc """
"""
@derive [Poison.Encoder]
defstruct [
:acceptedTOSVersion,
:accountDeletionDate,
:activeFriends,
:allowAvatarCopying,
:bio,
:bioLinks,
:currentAvatar,
:currentAvatarAssetUrl,
:currentAvatarImageUrl,
:currentAvatarThumbnailImageUrl,
:date_joined,
:developerType,
:displayName,
:emailVerified,
:fallbackAvatar,
:friendGroupNames,
:friendKey,
:friends,
:hasBirthday,
:hasEmail,
:hasLoggedInFromClient,
:hasPendingEmail,
:homeLocation,
:id,
:isFriend,
:last_login,
:last_platform,
:obfuscatedEmail,
:obfuscatedPendingEmail,
:oculusId,
:offlineFriends,
:onlineFriends,
:pastDisplayNames,
:profilePicOverride,
:state,
:status,
:statusDescription,
:statusFirstTime,
:statusHistory,
:steamDetails,
:steamId,
:tags,
:twoFactorAuthEnabled,
:twoFactorAuthEnabledDate,
:unsubscribe,
:userIcon,
:username
]
@type t :: %__MODULE__{
:acceptedTOSVersion => integer(),
:accountDeletionDate => Date.t | nil,
:activeFriends => [VRChat.Model.String.t] | nil,
:allowAvatarCopying => boolean(),
:bio => String.t,
:bioLinks => [String.t],
:currentAvatar => String.t,
:currentAvatarAssetUrl => String.t,
:currentAvatarImageUrl => String.t,
:currentAvatarThumbnailImageUrl => String.t,
:date_joined => Date.t,
:developerType => VRChat.Model.DeveloperType.t,
:displayName => String.t,
:emailVerified => boolean(),
:fallbackAvatar => String.t | nil,
:friendGroupNames => [String.t],
:friendKey => String.t,
:friends => [VRChat.Model.String.t],
:hasBirthday => boolean(),
:hasEmail => boolean(),
:hasLoggedInFromClient => boolean(),
:hasPendingEmail => boolean(),
:homeLocation => String.t,
:id => String.t,
:isFriend => boolean(),
:last_login => DateTime.t,
:last_platform => String.t,
:obfuscatedEmail => String.t,
:obfuscatedPendingEmail => String.t,
:oculusId => String.t,
:offlineFriends => [VRChat.Model.String.t] | nil,
:onlineFriends => [VRChat.Model.String.t] | nil,
:pastDisplayNames => [VRChat.Model.PastDisplayName.t],
:profilePicOverride => String.t,
:state => VRChat.Model.UserState.t,
:status => VRChat.Model.UserStatus.t,
:statusDescription => String.t,
:statusFirstTime => boolean(),
:statusHistory => [String.t],
:steamDetails => map(),
:steamId => String.t,
:tags => [VRChat.Model.String.t],
:twoFactorAuthEnabled => boolean(),
:twoFactorAuthEnabledDate => DateTime.t | nil,
:unsubscribe => boolean(),
:userIcon => String.t,
:username => String.t
}
end
defimpl Poison.Decoder, for: VRChat.Model.CurrentUser do
import VRChat.Deserializer
def decode(value, options) do
value
|> deserialize(:accountDeletionDate, :date, nil, options)
|> deserialize(:date_joined, :date, nil, options)
|> deserialize(:developerType, :struct, VRChat.Model.DeveloperType, options)
|> deserialize(:pastDisplayNames, :list, VRChat.Model.PastDisplayName, options)
|> deserialize(:state, :struct, VRChat.Model.UserState, options)
|> deserialize(:status, :struct, VRChat.Model.UserStatus, options)
end
end