Current section

Files

Jump to
docusign lib docusign model external_document_sources.ex
Raw

lib/docusign/model/external_document_sources.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.ExternalDocumentSources do
@moduledoc """
A complex object specifying the external document sources.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.SettingsMetadata
defstruct [
:boxnetEnabled,
:boxnetMetadata,
:dropboxEnabled,
:dropboxMetadata,
:googleDriveEnabled,
:googleDriveMetadata,
:oneDriveEnabled,
:oneDriveMetadata,
:salesforceEnabled,
:salesforceMetadata
]
@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__{
:boxnetEnabled => String.t() | nil,
:boxnetMetadata => SettingsMetadata.t() | nil,
:dropboxEnabled => String.t() | nil,
:dropboxMetadata => SettingsMetadata.t() | nil,
:googleDriveEnabled => String.t() | nil,
:googleDriveMetadata => SettingsMetadata.t() | nil,
:oneDriveEnabled => String.t() | nil,
:oneDriveMetadata => SettingsMetadata.t() | nil,
:salesforceEnabled => String.t() | nil,
:salesforceMetadata => SettingsMetadata.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:boxnetMetadata,
:struct,
SettingsMetadata
)
|> Deserializer.deserialize(
:dropboxMetadata,
:struct,
SettingsMetadata
)
|> Deserializer.deserialize(
:googleDriveMetadata,
:struct,
SettingsMetadata
)
|> Deserializer.deserialize(
:oneDriveMetadata,
:struct,
SettingsMetadata
)
|> Deserializer.deserialize(
:salesforceMetadata,
:struct,
SettingsMetadata
)
|> then(&struct(__MODULE__, &1))
end
end