Current section

Files

Jump to
docusign lib docusign model prefill_tabs.ex
Raw

lib/docusign/model/prefill_tabs.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.PrefillTabs do
@moduledoc """
Prefill tabs are tabs that the sender can fill in before the envelope is sent. They are sometimes called sender tags or pre-fill fields. Only the following tab types can be prefill tabs: - text - check boxes - radio buttons [Pre-Fill Your Own Document Fields][app] describes how prefill tabs work in the web application. [Customize your envelopes with pre-fill fields][catblog] shows how to use prefill tabs in your application using the eSignature SDKs. [app]: https://support.docusign.com/s/document-item?bundleId=gbo1643332197980&topicId=nwo1611173513994.html [catblog]: https://www.docusign.com/blog/developers/common-api-tasks-customize-your-envelopes-pre-fill-fields
"""
alias DocuSign.Deserializer
alias DocuSign.Model.Checkbox
alias DocuSign.Model.RadioGroup
alias DocuSign.Model.SenderCompany
alias DocuSign.Model.SenderName
alias DocuSign.Model.Ssn
alias DocuSign.Model.TabGroup
alias DocuSign.Model.Text
alias DocuSign.Model.Zip
defstruct [
:checkboxTabs,
:dateTabs,
:emailTabs,
:numberTabs,
:radioGroupTabs,
:senderCompanyTabs,
:senderNameTabs,
:ssnTabs,
:tabGroups,
:textTabs,
:zipTabs
]
@doc false
defimpl Jason.Encoder, for: __MODULE__ do
def encode(struct, opts) do
struct
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
|> Jason.Encode.map(opts)
end
end
@type t :: %__MODULE__{
:checkboxTabs => [Checkbox.t()] | nil,
:dateTabs => [Date.t()] | nil,
:emailTabs => [String.t()] | nil,
:numberTabs => [number()] | nil,
:radioGroupTabs => [RadioGroup.t()] | nil,
:senderCompanyTabs => [SenderCompany.t()] | nil,
:senderNameTabs => [SenderName.t()] | nil,
:ssnTabs => [Ssn.t()] | nil,
:tabGroups => [TabGroup.t()] | nil,
:textTabs => [Text.t()] | nil,
:zipTabs => [Zip.t()] | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:checkboxTabs,
:list,
Checkbox
)
|> Deserializer.deserialize(
:radioGroupTabs,
:list,
RadioGroup
)
|> Deserializer.deserialize(
:senderCompanyTabs,
:list,
SenderCompany
)
|> Deserializer.deserialize(
:senderNameTabs,
:list,
SenderName
)
|> Deserializer.deserialize(
:ssnTabs,
:list,
Ssn
)
|> Deserializer.deserialize(
:tabGroups,
:list,
TabGroup
)
|> Deserializer.deserialize(
:textTabs,
:list,
Text
)
|> Deserializer.deserialize(
:zipTabs,
:list,
Zip
)
|> then(&struct(__MODULE__, &1))
end
end