# 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.Editor do
@moduledoc """
A complex type defining the management and access rights of a recipient assigned as an editor on the envelope. Editors have the same management and access rights for the envelope as the sender. They can make changes to the envelope as if they were using the Correct feature. This recipient can add name and email information, add or change the routing order and set authentication options for the remaining recipients. Additionally, this recipient can edit signature/initial tabs and text tabs for the remaining recipients.
"""
@derive [Poison.Encoder]
defstruct [
:accessCode,
:accessCodeMetadata,
:addAccessCodeToEmail,
:additionalNotifications,
:allowSystemOverrideForLockedRecipient,
:autoRespondedReason,
:clientUserId,
:completedCount,
:consentDetailsList,
:customFields,
:declinedDateTime,
:declinedReason,
:deliveredDateTime,
:deliveryMethod,
:deliveryMethodMetadata,
:designatorId,
:designatorIdGuid,
:documentVisibility,
:email,
:emailMetadata,
:emailNotification,
:emailRecipientPostSigningURL,
:embeddedRecipientStartURL,
:errorDetails,
:faxNumber,
:faxNumberMetadata,
:firstName,
:firstNameMetadata,
:fullName,
:fullNameMetadata,
:idCheckConfigurationName,
:idCheckConfigurationNameMetadata,
:idCheckInformationInput,
:identityVerification,
:inheritEmailNotificationConfiguration,
:lastName,
:lastNameMetadata,
:lockedRecipientPhoneAuthEditable,
:lockedRecipientSmsEditable,
:name,
:nameMetadata,
:note,
:noteMetadata,
:phoneAuthentication,
:phoneNumber,
:recipientAttachments,
:recipientAuthenticationStatus,
:recipientFeatureMetadata,
:recipientId,
:recipientIdGuid,
:recipientType,
:recipientTypeMetadata,
:requireIdLookup,
:requireIdLookupMetadata,
:roleName,
:routingOrder,
:routingOrderMetadata,
:sentDateTime,
:signedDateTime,
:signingGroupId,
:signingGroupIdMetadata,
:signingGroupName,
:signingGroupUsers,
:smsAuthentication,
:socialAuthentications,
:status,
:statusCode,
:suppressEmails,
:templateLocked,
:templateRequired,
:totalTabCount,
:userId
]
@type t :: %__MODULE__{
:accessCode => String.t() | nil,
:accessCodeMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:addAccessCodeToEmail => String.t() | nil,
:additionalNotifications => [DocuSign.Model.RecipientAdditionalNotification.t()] | nil,
:allowSystemOverrideForLockedRecipient => String.t() | nil,
:autoRespondedReason => String.t() | nil,
:clientUserId => String.t() | nil,
:completedCount => String.t() | nil,
:consentDetailsList => [DocuSign.Model.ConsentDetails.t()] | nil,
:customFields => [String.t()] | nil,
:declinedDateTime => String.t() | nil,
:declinedReason => String.t() | nil,
:deliveredDateTime => String.t() | nil,
:deliveryMethod => String.t() | nil,
:deliveryMethodMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:designatorId => String.t() | nil,
:designatorIdGuid => String.t() | nil,
:documentVisibility => [DocuSign.Model.DocumentVisibility.t()] | nil,
:email => String.t() | nil,
:emailMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:emailNotification => DocuSign.Model.RecipientEmailNotification.t() | nil,
:emailRecipientPostSigningURL => String.t() | nil,
:embeddedRecipientStartURL => String.t() | nil,
:errorDetails => DocuSign.Model.ErrorDetails.t() | nil,
:faxNumber => String.t() | nil,
:faxNumberMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:firstName => String.t() | nil,
:firstNameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:fullName => String.t() | nil,
:fullNameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:idCheckConfigurationName => String.t() | nil,
:idCheckConfigurationNameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:idCheckInformationInput => DocuSign.Model.IdCheckInformationInput.t() | nil,
:identityVerification => DocuSign.Model.RecipientIdentityVerification.t() | nil,
:inheritEmailNotificationConfiguration => String.t() | nil,
:lastName => String.t() | nil,
:lastNameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:lockedRecipientPhoneAuthEditable => String.t() | nil,
:lockedRecipientSmsEditable => String.t() | nil,
:name => String.t() | nil,
:nameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:note => String.t() | nil,
:noteMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:phoneAuthentication => DocuSign.Model.RecipientPhoneAuthentication.t() | nil,
:phoneNumber => DocuSign.Model.RecipientPhoneNumber.t() | nil,
:recipientAttachments => [DocuSign.Model.RecipientAttachment.t()] | nil,
:recipientAuthenticationStatus => DocuSign.Model.AuthenticationStatus.t() | nil,
:recipientFeatureMetadata => [DocuSign.Model.FeatureAvailableMetadata.t()] | nil,
:recipientId => String.t() | nil,
:recipientIdGuid => String.t() | nil,
:recipientType => String.t() | nil,
:recipientTypeMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:requireIdLookup => String.t() | nil,
:requireIdLookupMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:roleName => String.t() | nil,
:routingOrder => String.t() | nil,
:routingOrderMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:sentDateTime => String.t() | nil,
:signedDateTime => String.t() | nil,
:signingGroupId => String.t() | nil,
:signingGroupIdMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:signingGroupName => String.t() | nil,
:signingGroupUsers => [DocuSign.Model.UserInfo.t()] | nil,
:smsAuthentication => DocuSign.Model.RecipientSmsAuthentication.t() | nil,
:socialAuthentications => [DocuSign.Model.SocialAuthentication.t()] | nil,
:status => String.t() | nil,
:statusCode => String.t() | nil,
:suppressEmails => String.t() | nil,
:templateLocked => String.t() | nil,
:templateRequired => String.t() | nil,
:totalTabCount => String.t() | nil,
:userId => String.t() | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.Editor do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:accessCodeMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:additionalNotifications,
:list,
DocuSign.Model.RecipientAdditionalNotification,
options
)
|> deserialize(:consentDetailsList, :list, DocuSign.Model.ConsentDetails, options)
|> deserialize(:deliveryMethodMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:documentVisibility, :list, DocuSign.Model.DocumentVisibility, options)
|> deserialize(:emailMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:emailNotification,
:struct,
DocuSign.Model.RecipientEmailNotification,
options
)
|> deserialize(:errorDetails, :struct, DocuSign.Model.ErrorDetails, options)
|> deserialize(:faxNumberMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:firstNameMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:fullNameMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:idCheckConfigurationNameMetadata,
:struct,
DocuSign.Model.PropertyMetadata,
options
)
|> deserialize(
:idCheckInformationInput,
:struct,
DocuSign.Model.IdCheckInformationInput,
options
)
|> deserialize(
:identityVerification,
:struct,
DocuSign.Model.RecipientIdentityVerification,
options
)
|> deserialize(:lastNameMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:nameMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:noteMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:phoneAuthentication,
:struct,
DocuSign.Model.RecipientPhoneAuthentication,
options
)
|> deserialize(:phoneNumber, :struct, DocuSign.Model.RecipientPhoneNumber, options)
|> deserialize(:recipientAttachments, :list, DocuSign.Model.RecipientAttachment, options)
|> deserialize(
:recipientAuthenticationStatus,
:struct,
DocuSign.Model.AuthenticationStatus,
options
)
|> deserialize(
:recipientFeatureMetadata,
:list,
DocuSign.Model.FeatureAvailableMetadata,
options
)
|> deserialize(:recipientTypeMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:requireIdLookupMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:routingOrderMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:signingGroupIdMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:signingGroupUsers, :list, DocuSign.Model.UserInfo, options)
|> deserialize(
:smsAuthentication,
:struct,
DocuSign.Model.RecipientSmsAuthentication,
options
)
|> deserialize(:socialAuthentications, :list, DocuSign.Model.SocialAuthentication, options)
end
end