# 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.Document do
@moduledoc """
A document object.
"""
@derive [Poison.Encoder]
defstruct [
:applyAnchorTabs,
:assignTabsToRecipientId,
:display,
:docGenFormFields,
:documentBase64,
:documentFields,
:documentId,
:encryptedWithKeyManager,
:fileExtension,
:fileFormatHint,
:htmlDefinition,
:includeInDownload,
:isDocGenDocument,
:matchBoxes,
:name,
:order,
:pages,
:password,
:pdfFormFieldOption,
:remoteUrl,
:signerMustAcknowledge,
:signerMustAcknowledgeUseAccountDefault,
:tabs,
:templateLocked,
:templateRequired,
:transformPdfFields,
:uri
]
@type t :: %__MODULE__{
:applyAnchorTabs => String.t() | nil,
:assignTabsToRecipientId => String.t() | nil,
:display => String.t() | nil,
:docGenFormFields => [DocuSign.Model.DocGenFormField.t()] | nil,
:documentBase64 => String.t() | nil,
:documentFields => [DocuSign.Model.NameValue.t()] | nil,
:documentId => String.t() | nil,
:encryptedWithKeyManager => String.t() | nil,
:fileExtension => String.t() | nil,
:fileFormatHint => String.t() | nil,
:htmlDefinition => DocuSign.Model.DocumentHtmlDefinition.t() | nil,
:includeInDownload => String.t() | nil,
:isDocGenDocument => String.t() | nil,
:matchBoxes => [DocuSign.Model.MatchBox.t()] | nil,
:name => String.t() | nil,
:order => String.t() | nil,
:pages => String.t() | nil,
:password => String.t() | nil,
:pdfFormFieldOption => String.t() | nil,
:remoteUrl => String.t() | nil,
:signerMustAcknowledge => String.t() | nil,
:signerMustAcknowledgeUseAccountDefault => boolean() | nil,
:tabs => DocuSign.Model.EnvelopeRecipientTabs.t() | nil,
:templateLocked => String.t() | nil,
:templateRequired => String.t() | nil,
:transformPdfFields => String.t() | nil,
:uri => String.t() | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.Document do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:docGenFormFields, :list, DocuSign.Model.DocGenFormField, options)
|> deserialize(:documentFields, :list, DocuSign.Model.NameValue, options)
|> deserialize(:htmlDefinition, :struct, DocuSign.Model.DocumentHtmlDefinition, options)
|> deserialize(:matchBoxes, :list, DocuSign.Model.MatchBox, options)
|> deserialize(:tabs, :struct, DocuSign.Model.EnvelopeRecipientTabs, options)
end
end