# NOTE: This file is auto generated by OpenAPI Generator # https://openapi-generator.tech # Do not edit this file manually. defmodule DocuSign.Model.PowerForms do @moduledoc """ The PowerForms resource enables you to create fillable forms that you can email or make available for self service on the web. """ alias DocuSign.Deserializer alias DocuSign.Model.Envelope alias DocuSign.Model.ErrorDetails alias DocuSign.Model.PowerFormRecipient defstruct [ :createdBy, :createdDateTime, :emailBody, :emailSubject, :envelopes, :errorDetails, :instructions, :isActive, :lastUsed, :limitUseInterval, :limitUseIntervalEnabled, :limitUseIntervalUnits, :maxUseEnabled, :name, :powerFormId, :powerFormUrl, :recipients, :senderName, :senderUserId, :signingMode, :templateId, :templateName, :timesUsed, :uri, :usesRemaining ] @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__{ :createdBy => String.t() | nil, :createdDateTime => String.t() | nil, :emailBody => String.t() | nil, :emailSubject => String.t() | nil, :envelopes => [Envelope.t()] | nil, :errorDetails => ErrorDetails.t() | nil, :instructions => String.t() | nil, :isActive => String.t() | nil, :lastUsed => String.t() | nil, :limitUseInterval => String.t() | nil, :limitUseIntervalEnabled => String.t() | nil, :limitUseIntervalUnits => String.t() | nil, :maxUseEnabled => String.t() | nil, :name => String.t() | nil, :powerFormId => String.t() | nil, :powerFormUrl => String.t() | nil, :recipients => [PowerFormRecipient.t()] | nil, :senderName => String.t() | nil, :senderUserId => String.t() | nil, :signingMode => String.t() | nil, :templateId => String.t() | nil, :templateName => String.t() | nil, :timesUsed => String.t() | nil, :uri => String.t() | nil, :usesRemaining => String.t() | nil } def decode(value) do value |> Deserializer.deserialize( :envelopes, :list, Envelope ) |> Deserializer.deserialize( :errorDetails, :struct, ErrorDetails ) |> Deserializer.deserialize( :recipients, :list, PowerFormRecipient ) |> then(&struct(__MODULE__, &1)) end end