lib/docusign/model/connect_custom_configuration.ex

# 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.ConnectCustomConfiguration do
  @moduledoc """
  The `connectCustomConfiguration` object describes a Connect configuration for your account.
  """

  @derive [Poison.Encoder]
  defstruct [
    :allowEnvelopePublish,
    :allowSalesforcePublish,
    :allUsers,
    :allUsersExcept,
    :configurationType,
    :connectId,
    :deliveryMode,
    :disabledBy,
    :enableLog,
    :envelopeEvents,
    :eventData,
    :events,
    :externalFolderId,
    :externalFolderLabel,
    :groupIds,
    :includeCertificateOfCompletion,
    :includeCertSoapHeader,
    :includeDocumentFields,
    :includeDocuments,
    :includeEnvelopeVoidReason,
    :includeHMAC,
    :includeOAuth,
    :includeSenderAccountasCustomField,
    :includeTimeZoneInformation,
    :integratorManaged,
    :name,
    :password,
    :recipientEvents,
    :requireMutualTls,
    :requiresAcknowledgement,
    :salesforceApiVersion,
    :salesforceAuthcode,
    :salesforceCallBackUrl,
    :salesforceDocumentsAsContentFiles,
    :senderOverride,
    :senderSelectableItems,
    :sfObjects,
    :signMessageWithX509Certificate,
    :soapNamespace,
    :urlToPublishTo,
    :userIds,
    :userName,
    :useSoapInterface
  ]

  @type t :: %__MODULE__{
          :allowEnvelopePublish => String.t() | nil,
          :allowSalesforcePublish => String.t() | nil,
          :allUsers => String.t() | nil,
          :allUsersExcept => String.t() | nil,
          :configurationType => String.t() | nil,
          :connectId => String.t() | nil,
          :deliveryMode => String.t() | nil,
          :disabledBy => String.t() | nil,
          :enableLog => String.t() | nil,
          :envelopeEvents => [String.t()] | nil,
          :eventData => DocuSign.Model.ConnectEventData.t() | nil,
          :events => [String.t()] | nil,
          :externalFolderId => String.t() | nil,
          :externalFolderLabel => String.t() | nil,
          :groupIds => [String.t()] | nil,
          :includeCertificateOfCompletion => String.t() | nil,
          :includeCertSoapHeader => String.t() | nil,
          :includeDocumentFields => String.t() | nil,
          :includeDocuments => String.t() | nil,
          :includeEnvelopeVoidReason => String.t() | nil,
          :includeHMAC => String.t() | nil,
          :includeOAuth => String.t() | nil,
          :includeSenderAccountasCustomField => String.t() | nil,
          :includeTimeZoneInformation => String.t() | nil,
          :integratorManaged => String.t() | nil,
          :name => String.t() | nil,
          :password => String.t() | nil,
          :recipientEvents => [String.t()] | nil,
          :requireMutualTls => String.t() | nil,
          :requiresAcknowledgement => String.t() | nil,
          :salesforceApiVersion => String.t() | nil,
          :salesforceAuthcode => String.t() | nil,
          :salesforceCallBackUrl => String.t() | nil,
          :salesforceDocumentsAsContentFiles => String.t() | nil,
          :senderOverride => String.t() | nil,
          :senderSelectableItems => [String.t()] | nil,
          :sfObjects => [DocuSign.Model.ConnectSalesforceObject.t()] | nil,
          :signMessageWithX509Certificate => String.t() | nil,
          :soapNamespace => String.t() | nil,
          :urlToPublishTo => String.t() | nil,
          :userIds => [String.t()] | nil,
          :userName => String.t() | nil,
          :useSoapInterface => String.t() | nil
        }
end

defimpl Poison.Decoder, for: DocuSign.Model.ConnectCustomConfiguration do
  import DocuSign.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:eventData, :struct, DocuSign.Model.ConnectEventData, options)
    |> deserialize(:sfObjects, :list, DocuSign.Model.ConnectSalesforceObject, options)
  end
end