Current section

Files

Jump to
docusign lib docusign model envelope_transfer_rule.ex
Raw

lib/docusign/model/envelope_transfer_rule.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.EnvelopeTransferRule do
@moduledoc """
This object contains details about an envelope transfer rule.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.Folder
alias DocuSign.Model.Group
alias DocuSign.Model.UserInformation
defstruct [
:carbonCopyOriginalOwner,
:enabled,
:envelopeTransferRuleId,
:eventType,
:fromGroup,
:fromUser,
:modifiedDate,
:modifiedUser,
:toFolder,
:toUser
]
@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__{
:carbonCopyOriginalOwner => String.t() | nil,
:enabled => String.t() | nil,
:envelopeTransferRuleId => String.t() | nil,
:eventType => String.t() | nil,
:fromGroup => Group.t() | nil,
:fromUser => UserInformation.t() | nil,
:modifiedDate => String.t() | nil,
:modifiedUser => UserInformation.t() | nil,
:toFolder => Folder.t() | nil,
:toUser => UserInformation.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:fromGroup,
:struct,
Group
)
|> Deserializer.deserialize(
:fromUser,
:struct,
UserInformation
)
|> Deserializer.deserialize(
:modifiedUser,
:struct,
UserInformation
)
|> Deserializer.deserialize(
:toFolder,
:struct,
Folder
)
|> Deserializer.deserialize(
:toUser,
:struct,
UserInformation
)
|> then(&struct(__MODULE__, &1))
end
end