lib/docusign/model/custom_tabs.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.CustomTabs do
  @moduledoc """
  Custom tabs
  """

  @derive [Poison.Encoder]
  defstruct [
    :anchor,
    :anchorCaseSensitive,
    :anchorHorizontalAlignment,
    :anchorIgnoreIfNotPresent,
    :anchorMatchWholeWord,
    :anchorUnits,
    :anchorXOffset,
    :anchorYOffset,
    :bold,
    :collaborative,
    :concealValueOnDocument,
    :createdByDisplayName,
    :createdByUserId,
    :customTabId,
    :disableAutoSize,
    :editable,
    :font,
    :fontColor,
    :fontSize,
    :height,
    :includedInEmail,
    :initialValue,
    :italic,
    :items,
    :lastModified,
    :lastModifiedByDisplayName,
    :lastModifiedByUserId,
    :localePolicy,
    :locked,
    :maximumLength,
    :maxNumericalValue,
    :mergeField,
    :minNumericalValue,
    :name,
    :numericalValue,
    :paymentItemCode,
    :paymentItemDescription,
    :paymentItemName,
    :requireAll,
    :required,
    :requireInitialOnSharedChange,
    :scaleValue,
    :selected,
    :shared,
    :signatureProviderId,
    :stampType,
    :stampTypeMetadata,
    :tabLabel,
    :type,
    :underline,
    :validationMessage,
    :validationPattern,
    :validationType,
    :width
  ]

  @type t :: %__MODULE__{
          :anchor => String.t() | nil,
          :anchorCaseSensitive => String.t() | nil,
          :anchorHorizontalAlignment => String.t() | nil,
          :anchorIgnoreIfNotPresent => String.t() | nil,
          :anchorMatchWholeWord => String.t() | nil,
          :anchorUnits => String.t() | nil,
          :anchorXOffset => String.t() | nil,
          :anchorYOffset => String.t() | nil,
          :bold => String.t() | nil,
          :collaborative => String.t() | nil,
          :concealValueOnDocument => String.t() | nil,
          :createdByDisplayName => String.t() | nil,
          :createdByUserId => String.t() | nil,
          :customTabId => String.t() | nil,
          :disableAutoSize => String.t() | nil,
          :editable => String.t() | nil,
          :font => String.t() | nil,
          :fontColor => String.t() | nil,
          :fontSize => String.t() | nil,
          :height => String.t() | nil,
          :includedInEmail => String.t() | nil,
          :initialValue => String.t() | nil,
          :italic => String.t() | nil,
          :items => [String.t()] | nil,
          :lastModified => String.t() | nil,
          :lastModifiedByDisplayName => String.t() | nil,
          :lastModifiedByUserId => String.t() | nil,
          :localePolicy => DocuSign.Model.LocalePolicyTab.t() | nil,
          :locked => String.t() | nil,
          :maximumLength => String.t() | nil,
          :maxNumericalValue => String.t() | nil,
          :mergeField => DocuSign.Model.MergeField.t() | nil,
          :minNumericalValue => String.t() | nil,
          :name => String.t() | nil,
          :numericalValue => String.t() | nil,
          :paymentItemCode => String.t() | nil,
          :paymentItemDescription => String.t() | nil,
          :paymentItemName => String.t() | nil,
          :requireAll => String.t() | nil,
          :required => String.t() | nil,
          :requireInitialOnSharedChange => String.t() | nil,
          :scaleValue => String.t() | nil,
          :selected => String.t() | nil,
          :shared => String.t() | nil,
          :signatureProviderId => String.t() | nil,
          :stampType => String.t() | nil,
          :stampTypeMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
          :tabLabel => String.t() | nil,
          :type => String.t() | nil,
          :underline => String.t() | nil,
          :validationMessage => String.t() | nil,
          :validationPattern => String.t() | nil,
          :validationType => String.t() | nil,
          :width => String.t() | nil
        }
end

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

  def decode(value, options) do
    value
    |> deserialize(:localePolicy, :struct, DocuSign.Model.LocalePolicyTab, options)
    |> deserialize(:mergeField, :struct, DocuSign.Model.MergeField, options)
    |> deserialize(:stampTypeMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
  end
end