# 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.CompositeTemplate do
@moduledoc """
This object contains information about a [composite template][composite], which you can use to to apply multiple templates to a single envelope, combine templates with PDF forms, and combine templates with documents from cloud sources. [composite]: /docs/esign-rest-api/esign101/concepts/templates/composite/
"""
@derive [Poison.Encoder]
defstruct [
:compositeTemplateId,
:document,
:inlineTemplates,
:pdfMetaDataTemplateSequence,
:serverTemplates
]
@type t :: %__MODULE__{
:compositeTemplateId => String.t() | nil,
:document => DocuSign.Model.Document.t() | nil,
:inlineTemplates => [DocuSign.Model.InlineTemplate.t()] | nil,
:pdfMetaDataTemplateSequence => String.t() | nil,
:serverTemplates => [DocuSign.Model.ServerTemplate.t()] | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.CompositeTemplate do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:document, :struct, DocuSign.Model.Document, options)
|> deserialize(:inlineTemplates, :list, DocuSign.Model.InlineTemplate, options)
|> deserialize(:serverTemplates, :list, DocuSign.Model.ServerTemplate, options)
end
end