# 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