Current section
Files
Jump to
Current section
Files
lib/docusign/model/recipient_signature_provider_options.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.RecipientSignatureProviderOptions do
@moduledoc """
Option settings for the signature provider. Different providers require or use different options. [The current provider list and the options they require.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
"""
alias DocuSign.Deserializer
alias DocuSign.Model.PropertyMetadata
defstruct [
:cpfNumber,
:cpfNumberMetadata,
:oneTimePassword,
:oneTimePasswordMetadata,
:signerRole,
:signerRoleMetadata,
:sms,
:smsMetadata
]
@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__{
:cpfNumber => String.t() | nil,
:cpfNumberMetadata => PropertyMetadata.t() | nil,
:oneTimePassword => String.t() | nil,
:oneTimePasswordMetadata => PropertyMetadata.t() | nil,
:signerRole => String.t() | nil,
:signerRoleMetadata => PropertyMetadata.t() | nil,
:sms => String.t() | nil,
:smsMetadata => PropertyMetadata.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:cpfNumberMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:oneTimePasswordMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:signerRoleMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:smsMetadata,
:struct,
PropertyMetadata
)
|> then(&struct(__MODULE__, &1))
end
end