lib/chat_kitty/model/channel_resource.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 ChatKitty.Model.ChannelResource do
  @moduledoc """
  
  """

  @derive [Poison.Encoder]
  defstruct [
    :"type",
    :"id",
    :"createdTime",
    :"creator",
    :"lastReceivedMessage",
    :"properties",
    :"_links",
    :"displayName",
    :"name",
    :"members"
  ]

  @type t :: %__MODULE__{
    :"type" => String.t,
    :"id" => integer(),
    :"createdTime" => DateTime.t,
    :"creator" => ChatKitty.Model.ChatUserProperties.t | nil,
    :"lastReceivedMessage" => ChatKitty.Model.MessageProperties.t | nil,
    :"properties" => %{optional(String.t) => AnyType},
    :"_links" => %{optional(String.t) => ChatKitty.Model.Link.t} | nil,
    :"displayName" => String.t,
    :"name" => String.t,
    :"members" => [ChatKitty.Model.ChatUserProperties.t]
  }
end

defimpl Poison.Decoder, for: ChatKitty.Model.ChannelResource do
  import ChatKitty.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:"creator", :struct, ChatKitty.Model.ChatUserProperties, options)
    |> deserialize(:"lastReceivedMessage", :struct, ChatKitty.Model.MessageProperties, options)
    |> deserialize(:"properties", :map, ChatKitty.Model.AnyType, options)
    |> deserialize(:"_links", :map, ChatKitty.Model.Link, options)
    |> deserialize(:"members", :list, ChatKitty.Model.ChatUserProperties, options)
  end
end