lib/docusign/model/attachment.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.

defmodule DocuSign.Model.Attachment do
  @moduledoc """
  Contains information about an attachment.
  """

  defstruct [
    :accessControl,
    :attachmentId,
    :attachmentType,
    :data,
    :label,
    :name,
    :remoteUrl
  ]

  @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__{
          :accessControl => String.t() | nil,
          :attachmentId => String.t() | nil,
          :attachmentType => String.t() | nil,
          :data => String.t() | nil,
          :label => String.t() | nil,
          :name => String.t() | nil,
          :remoteUrl => String.t() | nil
        }

  def decode(value) do
    struct(__MODULE__, value)
  end
end