Current section
Files
Jump to
Current section
Files
lib/docusign/model/new_account_definition.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.NewAccountDefinition do
@moduledoc """
"""
alias DocuSign.Deserializer
alias DocuSign.Model.AccountAddress
alias DocuSign.Model.AccountSettingsInformation
alias DocuSign.Model.CreditCardInformation
alias DocuSign.Model.DirectDebitProcessorInformation
alias DocuSign.Model.PaymentProcessorInformation
alias DocuSign.Model.PlanInformation
alias DocuSign.Model.ReferralInformation
alias DocuSign.Model.SocialAccountInformation
alias DocuSign.Model.UserInformation
defstruct [
:accountName,
:accountSettings,
:addressInformation,
:creditCardInformation,
:directDebitProcessorInformation,
:distributorCode,
:distributorPassword,
:enablePreAuth,
:envelopePartitionId,
:initialUser,
:paymentMethod,
:paymentProcessor,
:paymentProcessorInformation,
:planInformation,
:processPayment,
:referralInformation,
:socialAccountInformation,
:taxExemptId
]
@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__{
:accountName => String.t() | nil,
:accountSettings => AccountSettingsInformation.t() | nil,
:addressInformation => AccountAddress.t() | nil,
:creditCardInformation => CreditCardInformation.t() | nil,
:directDebitProcessorInformation => DirectDebitProcessorInformation.t() | nil,
:distributorCode => String.t() | nil,
:distributorPassword => String.t() | nil,
:enablePreAuth => String.t() | nil,
:envelopePartitionId => String.t() | nil,
:initialUser => UserInformation.t() | nil,
:paymentMethod => String.t() | nil,
:paymentProcessor => String.t() | nil,
:paymentProcessorInformation => PaymentProcessorInformation.t() | nil,
:planInformation => PlanInformation.t() | nil,
:processPayment => String.t() | nil,
:referralInformation => ReferralInformation.t() | nil,
:socialAccountInformation => SocialAccountInformation.t() | nil,
:taxExemptId => String.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:accountSettings,
:struct,
AccountSettingsInformation
)
|> Deserializer.deserialize(
:addressInformation,
:struct,
AccountAddress
)
|> Deserializer.deserialize(
:creditCardInformation,
:struct,
CreditCardInformation
)
|> Deserializer.deserialize(
:directDebitProcessorInformation,
:struct,
DirectDebitProcessorInformation
)
|> Deserializer.deserialize(
:initialUser,
:struct,
UserInformation
)
|> Deserializer.deserialize(
:paymentProcessorInformation,
:struct,
PaymentProcessorInformation
)
|> Deserializer.deserialize(
:planInformation,
:struct,
PlanInformation
)
|> Deserializer.deserialize(
:referralInformation,
:struct,
ReferralInformation
)
|> Deserializer.deserialize(
:socialAccountInformation,
:struct,
SocialAccountInformation
)
|> then(&struct(__MODULE__, &1))
end
end