lib/docusign/model/email.ex

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

defmodule DocuSign.Model.Email do
  @moduledoc """
  A tab that allows the recipient to enter an email address. This is a one-line field that checks that a valid email address is entered. It uses the same parameters as a Text tab, with the validation message and pattern set for email information.  When getting information that includes this tab type, the original value of the tab when the associated envelope was sent is included in the response.
  """

  alias DocuSign.Deserializer
  alias DocuSign.Model.ErrorDetails
  alias DocuSign.Model.LocalePolicyTab
  alias DocuSign.Model.MergeField
  alias DocuSign.Model.PropertyMetadata
  alias DocuSign.Model.SmartContractInformation

  @derive Jason.Encoder
  defstruct [
    :anchorAllowWhiteSpaceInCharacters,
    :anchorAllowWhiteSpaceInCharactersMetadata,
    :anchorCaseSensitive,
    :anchorCaseSensitiveMetadata,
    :anchorHorizontalAlignment,
    :anchorHorizontalAlignmentMetadata,
    :anchorIgnoreIfNotPresent,
    :anchorIgnoreIfNotPresentMetadata,
    :anchorMatchWholeWord,
    :anchorMatchWholeWordMetadata,
    :anchorString,
    :anchorStringMetadata,
    :anchorTabProcessorVersion,
    :anchorTabProcessorVersionMetadata,
    :anchorUnits,
    :anchorUnitsMetadata,
    :anchorXOffset,
    :anchorXOffsetMetadata,
    :anchorYOffset,
    :anchorYOffsetMetadata,
    :bold,
    :boldMetadata,
    :caption,
    :captionMetadata,
    :concealValueOnDocument,
    :concealValueOnDocumentMetadata,
    :conditionalParentLabel,
    :conditionalParentLabelMetadata,
    :conditionalParentValue,
    :conditionalParentValueMetadata,
    :customTabId,
    :customTabIdMetadata,
    :disableAutoSize,
    :disableAutoSizeMetadata,
    :documentId,
    :documentIdMetadata,
    :errorDetails,
    :font,
    :fontColor,
    :fontColorMetadata,
    :fontMetadata,
    :fontSize,
    :fontSizeMetadata,
    :formOrder,
    :formOrderMetadata,
    :formPageLabel,
    :formPageLabelMetadata,
    :formPageNumber,
    :formPageNumberMetadata,
    :height,
    :heightMetadata,
    :italic,
    :italicMetadata,
    :localePolicy,
    :locked,
    :lockedMetadata,
    :maxLength,
    :maxLengthMetadata,
    :mergeField,
    :mergeFieldXml,
    :name,
    :nameMetadata,
    :originalValue,
    :originalValueMetadata,
    :pageNumber,
    :pageNumberMetadata,
    :recipientId,
    :recipientIdGuid,
    :recipientIdGuidMetadata,
    :recipientIdMetadata,
    :requireAll,
    :requireAllMetadata,
    :requireInitialOnSharedChange,
    :requireInitialOnSharedChangeMetadata,
    :required,
    :requiredMetadata,
    :senderRequired,
    :senderRequiredMetadata,
    :shareToRecipients,
    :shareToRecipientsMetadata,
    :shared,
    :sharedMetadata,
    :smartContractInformation,
    :source,
    :status,
    :statusMetadata,
    :tabGroupLabels,
    :tabGroupLabelsMetadata,
    :tabId,
    :tabIdMetadata,
    :tabLabel,
    :tabLabelMetadata,
    :tabOrder,
    :tabOrderMetadata,
    :tabType,
    :tabTypeMetadata,
    :templateLocked,
    :templateLockedMetadata,
    :templateRequired,
    :templateRequiredMetadata,
    :toolTipMetadata,
    :tooltip,
    :underline,
    :underlineMetadata,
    :validationMessage,
    :validationMessageMetadata,
    :validationPattern,
    :validationPatternMetadata,
    :value,
    :valueMetadata,
    :warningDetails,
    :width,
    :widthMetadata,
    :xPosition,
    :xPositionMetadata,
    :yPosition,
    :yPositionMetadata
  ]

  @type t :: %__MODULE__{
          :anchorAllowWhiteSpaceInCharacters => String.t() | nil,
          :anchorAllowWhiteSpaceInCharactersMetadata => PropertyMetadata.t() | nil,
          :anchorCaseSensitive => String.t() | nil,
          :anchorCaseSensitiveMetadata => PropertyMetadata.t() | nil,
          :anchorHorizontalAlignment => String.t() | nil,
          :anchorHorizontalAlignmentMetadata => PropertyMetadata.t() | nil,
          :anchorIgnoreIfNotPresent => String.t() | nil,
          :anchorIgnoreIfNotPresentMetadata => PropertyMetadata.t() | nil,
          :anchorMatchWholeWord => String.t() | nil,
          :anchorMatchWholeWordMetadata => PropertyMetadata.t() | nil,
          :anchorString => String.t() | nil,
          :anchorStringMetadata => PropertyMetadata.t() | nil,
          :anchorTabProcessorVersion => String.t() | nil,
          :anchorTabProcessorVersionMetadata => PropertyMetadata.t() | nil,
          :anchorUnits => String.t() | nil,
          :anchorUnitsMetadata => PropertyMetadata.t() | nil,
          :anchorXOffset => String.t() | nil,
          :anchorXOffsetMetadata => PropertyMetadata.t() | nil,
          :anchorYOffset => String.t() | nil,
          :anchorYOffsetMetadata => PropertyMetadata.t() | nil,
          :bold => String.t() | nil,
          :boldMetadata => PropertyMetadata.t() | nil,
          :caption => String.t() | nil,
          :captionMetadata => PropertyMetadata.t() | nil,
          :concealValueOnDocument => String.t() | nil,
          :concealValueOnDocumentMetadata => PropertyMetadata.t() | nil,
          :conditionalParentLabel => String.t() | nil,
          :conditionalParentLabelMetadata => PropertyMetadata.t() | nil,
          :conditionalParentValue => String.t() | nil,
          :conditionalParentValueMetadata => PropertyMetadata.t() | nil,
          :customTabId => String.t() | nil,
          :customTabIdMetadata => PropertyMetadata.t() | nil,
          :disableAutoSize => String.t() | nil,
          :disableAutoSizeMetadata => PropertyMetadata.t() | nil,
          :documentId => String.t() | nil,
          :documentIdMetadata => PropertyMetadata.t() | nil,
          :errorDetails => ErrorDetails.t() | nil,
          :font => String.t() | nil,
          :fontColor => String.t() | nil,
          :fontColorMetadata => PropertyMetadata.t() | nil,
          :fontMetadata => PropertyMetadata.t() | nil,
          :fontSize => String.t() | nil,
          :fontSizeMetadata => PropertyMetadata.t() | nil,
          :formOrder => String.t() | nil,
          :formOrderMetadata => PropertyMetadata.t() | nil,
          :formPageLabel => String.t() | nil,
          :formPageLabelMetadata => PropertyMetadata.t() | nil,
          :formPageNumber => String.t() | nil,
          :formPageNumberMetadata => PropertyMetadata.t() | nil,
          :height => String.t() | nil,
          :heightMetadata => PropertyMetadata.t() | nil,
          :italic => String.t() | nil,
          :italicMetadata => PropertyMetadata.t() | nil,
          :localePolicy => LocalePolicyTab.t() | nil,
          :locked => String.t() | nil,
          :lockedMetadata => PropertyMetadata.t() | nil,
          :maxLength => String.t() | nil,
          :maxLengthMetadata => PropertyMetadata.t() | nil,
          :mergeField => MergeField.t() | nil,
          :mergeFieldXml => String.t() | nil,
          :name => String.t() | nil,
          :nameMetadata => PropertyMetadata.t() | nil,
          :originalValue => String.t() | nil,
          :originalValueMetadata => PropertyMetadata.t() | nil,
          :pageNumber => String.t() | nil,
          :pageNumberMetadata => PropertyMetadata.t() | nil,
          :recipientId => String.t() | nil,
          :recipientIdGuid => String.t() | nil,
          :recipientIdGuidMetadata => PropertyMetadata.t() | nil,
          :recipientIdMetadata => PropertyMetadata.t() | nil,
          :requireAll => String.t() | nil,
          :requireAllMetadata => PropertyMetadata.t() | nil,
          :requireInitialOnSharedChange => String.t() | nil,
          :requireInitialOnSharedChangeMetadata => PropertyMetadata.t() | nil,
          :required => String.t() | nil,
          :requiredMetadata => PropertyMetadata.t() | nil,
          :senderRequired => String.t() | nil,
          :senderRequiredMetadata => PropertyMetadata.t() | nil,
          :shareToRecipients => String.t() | nil,
          :shareToRecipientsMetadata => PropertyMetadata.t() | nil,
          :shared => String.t() | nil,
          :sharedMetadata => PropertyMetadata.t() | nil,
          :smartContractInformation => SmartContractInformation.t() | nil,
          :source => String.t() | nil,
          :status => String.t() | nil,
          :statusMetadata => PropertyMetadata.t() | nil,
          :tabGroupLabels => [String.t()] | nil,
          :tabGroupLabelsMetadata => PropertyMetadata.t() | nil,
          :tabId => String.t() | nil,
          :tabIdMetadata => PropertyMetadata.t() | nil,
          :tabLabel => String.t() | nil,
          :tabLabelMetadata => PropertyMetadata.t() | nil,
          :tabOrder => String.t() | nil,
          :tabOrderMetadata => PropertyMetadata.t() | nil,
          :tabType => String.t() | nil,
          :tabTypeMetadata => PropertyMetadata.t() | nil,
          :templateLocked => String.t() | nil,
          :templateLockedMetadata => PropertyMetadata.t() | nil,
          :templateRequired => String.t() | nil,
          :templateRequiredMetadata => PropertyMetadata.t() | nil,
          :toolTipMetadata => PropertyMetadata.t() | nil,
          :tooltip => String.t() | nil,
          :underline => String.t() | nil,
          :underlineMetadata => PropertyMetadata.t() | nil,
          :validationMessage => String.t() | nil,
          :validationMessageMetadata => PropertyMetadata.t() | nil,
          :validationPattern => String.t() | nil,
          :validationPatternMetadata => PropertyMetadata.t() | nil,
          :value => String.t() | nil,
          :valueMetadata => PropertyMetadata.t() | nil,
          :warningDetails => ErrorDetails.t() | nil,
          :width => String.t() | nil,
          :widthMetadata => PropertyMetadata.t() | nil,
          :xPosition => String.t() | nil,
          :xPositionMetadata => PropertyMetadata.t() | nil,
          :yPosition => String.t() | nil,
          :yPositionMetadata => PropertyMetadata.t() | nil
        }

  def decode(value) do
    value
    |> Deserializer.deserialize(
      :anchorAllowWhiteSpaceInCharactersMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :anchorCaseSensitiveMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :anchorHorizontalAlignmentMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :anchorIgnoreIfNotPresentMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :anchorMatchWholeWordMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:anchorStringMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :anchorTabProcessorVersionMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:anchorUnitsMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:anchorXOffsetMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:anchorYOffsetMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:boldMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:captionMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :concealValueOnDocumentMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :conditionalParentLabelMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :conditionalParentValueMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:customTabIdMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :disableAutoSizeMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:documentIdMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:errorDetails, :struct, ErrorDetails)
    |> Deserializer.deserialize(:fontColorMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:fontMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:fontSizeMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:formOrderMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:formPageLabelMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:formPageNumberMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:heightMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:italicMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:localePolicy, :struct, LocalePolicyTab)
    |> Deserializer.deserialize(:lockedMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:maxLengthMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:mergeField, :struct, MergeField)
    |> Deserializer.deserialize(:nameMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:originalValueMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:pageNumberMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :recipientIdGuidMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:recipientIdMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:requireAllMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:requiredMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :requireInitialOnSharedChangeMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:senderRequiredMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:sharedMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :shareToRecipientsMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :smartContractInformation,
      :struct,
      SmartContractInformation
    )
    |> Deserializer.deserialize(:statusMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:tabGroupLabelsMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:tabIdMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:tabLabelMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:tabOrderMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:tabTypeMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:templateLockedMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :templateRequiredMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:toolTipMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:underlineMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(
      :validationMessageMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(
      :validationPatternMetadata,
      :struct,
      PropertyMetadata
    )
    |> Deserializer.deserialize(:valueMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:warningDetails, :struct, ErrorDetails)
    |> Deserializer.deserialize(:widthMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:xPositionMetadata, :struct, PropertyMetadata)
    |> Deserializer.deserialize(:yPositionMetadata, :struct, PropertyMetadata)
  end
end