lib/docusign/model/envelopes_information.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.EnvelopesInformation do
  @moduledoc """
  Result set for the Envelopes: listStatusChanges method
  """

  @derive [Poison.Encoder]
  defstruct [
    :continuationToken,
    :endPosition,
    :envelopes,
    :envelopeTransactionStatuses,
    :folders,
    :lastQueriedDateTime,
    :nextUri,
    :previousUri,
    :resultSetSize,
    :startPosition,
    :totalSetSize
  ]

  @type t :: %__MODULE__{
          :continuationToken => String.t() | nil,
          :endPosition => String.t() | nil,
          :envelopes => [DocuSign.Model.Envelope.t()] | nil,
          :envelopeTransactionStatuses => [DocuSign.Model.EnvelopeTransactionStatus.t()] | nil,
          :folders => [DocuSign.Model.Folder.t()] | nil,
          :lastQueriedDateTime => String.t() | nil,
          :nextUri => String.t() | nil,
          :previousUri => String.t() | nil,
          :resultSetSize => String.t() | nil,
          :startPosition => String.t() | nil,
          :totalSetSize => String.t() | nil
        }
end

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

  def decode(value, options) do
    value
    |> deserialize(:envelopes, :list, DocuSign.Model.Envelope, options)
    |> deserialize(
      :envelopeTransactionStatuses,
      :list,
      DocuSign.Model.EnvelopeTransactionStatus,
      options
    )
    |> deserialize(:folders, :list, DocuSign.Model.Folder, options)
  end
end