# NOTE: This file is auto generated by OpenAPI Generator 6.2.1 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule VRChat.Model.Group do
@moduledoc """
"""
@derive [Poison.Encoder]
defstruct [
:id,
:name,
:shortCode,
:discriminator,
:description,
:iconUrl,
:bannerUrl,
:privacy,
:ownerId,
:rules,
:links,
:languages,
:iconId,
:bannerId,
:memberCount,
:memberCountSyncedAt,
:isVerified,
:joinState,
:tags,
:galleries,
:createdAt,
:onlineMemberCount,
:membershipStatus,
:myMember,
:roles
]
@type t :: %__MODULE__{
:id => String.t() | nil,
:name => String.t() | nil,
:shortCode => String.t() | nil,
:discriminator => String.t() | nil,
:description => String.t() | nil,
:iconUrl => String.t() | nil,
:bannerUrl => String.t() | nil,
:privacy => VRChat.Model.GroupPrivacy.t() | nil,
:ownerId => String.t() | nil,
:rules => String.t() | nil,
:links => [String.t()] | nil,
:languages => [String.t()] | nil,
:iconId => String.t() | nil,
:bannerId => String.t() | nil,
:memberCount => integer() | nil,
:memberCountSyncedAt => DateTime.t() | nil,
:isVerified => boolean() | nil,
:joinState => VRChat.Model.GroupJoinState.t() | nil,
:tags => [String.t()] | nil,
:galleries => [VRChat.Model.GroupGallery.t()] | nil,
:createdAt => DateTime.t() | nil,
:onlineMemberCount => integer() | nil,
:membershipStatus => VRChat.Model.GroupMemberStatus.t() | nil,
:myMember => VRChat.Model.GroupMyMember.t() | nil,
:roles => [VRChat.Model.GroupRole.t()] | nil
}
end
defimpl Poison.Decoder, for: VRChat.Model.Group do
import VRChat.Deserializer
def decode(value, options) do
value
|> deserialize(:privacy, :struct, VRChat.Model.GroupPrivacy, options)
|> deserialize(:joinState, :struct, VRChat.Model.GroupJoinState, options)
|> deserialize(:galleries, :list, VRChat.Model.GroupGallery, options)
|> deserialize(:membershipStatus, :struct, VRChat.Model.GroupMemberStatus, options)
|> deserialize(:myMember, :struct, VRChat.Model.GroupMyMember, options)
|> deserialize(:roles, :list, VRChat.Model.GroupRole, options)
end
end