lib/chat_kitty/model/text_message_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.TextMessageResource do
  @moduledoc """
  The message in which the user was mentioned
  """

  @derive [Poison.Encoder]
  defstruct [
    :"type",
    :"id",
    :"channelId",
    :"createdTime",
    :"groupTag",
    :"lastEditedTime",
    :"nestedLevel",
    :"properties",
    :"reactions",
    :"repliesCount",
    :"_links",
    :"body",
    :"links",
    :"mentions",
    :"user"
  ]

  @type t :: %__MODULE__{
    :"type" => String.t,
    :"id" => integer(),
    :"channelId" => integer(),
    :"createdTime" => DateTime.t,
    :"groupTag" => String.t | nil,
    :"lastEditedTime" => DateTime.t | nil,
    :"nestedLevel" => integer(),
    :"properties" => %{optional(String.t) => AnyType},
    :"reactions" => [ChatKitty.Model.MessageReactionsSummaryProperties.t] | nil,
    :"repliesCount" => integer() | nil,
    :"_links" => %{optional(String.t) => ChatKitty.Model.Link.t} | nil,
    :"body" => String.t,
    :"links" => [ChatKitty.Model.MessageLinkProperties.t] | nil,
    :"mentions" => [ChatKitty.Model.MessageMentionProperties.t] | nil,
    :"user" => ChatKitty.Model.ChatUserProperties.t
  }
end

defimpl Poison.Decoder, for: ChatKitty.Model.TextMessageResource do
  import ChatKitty.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:"properties", :map, ChatKitty.Model.AnyType, options)
    |> deserialize(:"reactions", :list, ChatKitty.Model.MessageReactionsSummaryProperties, options)
    |> deserialize(:"_links", :map, ChatKitty.Model.Link, options)
    |> deserialize(:"links", :list, ChatKitty.Model.MessageLinkProperties, options)
    |> deserialize(:"mentions", :list, ChatKitty.Model.MessageMentionProperties, options)
    |> deserialize(:"user", :struct, ChatKitty.Model.ChatUserProperties, options)
  end
end