lib/docusign/model/list_item.ex

# NOTE: This file is auto generated by OpenAPI Generator 6.4.0 (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule DocuSign.Model.ListItem do
  @moduledoc """
  One of the selectable items in the `listItems` property of a [`list`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/) tab.
  """

  @derive [Poison.Encoder]
  defstruct [
    :selected,
    :selectedMetadata,
    :text,
    :textMetadata,
    :value,
    :valueMetadata
  ]

  @type t :: %__MODULE__{
          :selected => String.t() | nil,
          :selectedMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
          :text => String.t() | nil,
          :textMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
          :value => String.t() | nil,
          :valueMetadata => DocuSign.Model.PropertyMetadata.t() | nil
        }
end

defimpl Poison.Decoder, for: DocuSign.Model.ListItem do
  import DocuSign.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:selectedMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
    |> deserialize(:textMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
    |> deserialize(:valueMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
  end
end