# NOTE: This file is auto generated by OpenAPI Generator # 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. """ alias DocuSign.Deserializer alias DocuSign.Model.AuthenticationStatus alias DocuSign.Model.ConsentDetails alias DocuSign.Model.DocumentVisibility alias DocuSign.Model.ErrorDetails alias DocuSign.Model.FeatureAvailableMetadata alias DocuSign.Model.IdCheckInformationInput alias DocuSign.Model.PropertyMetadata alias DocuSign.Model.RecipientAdditionalNotification alias DocuSign.Model.RecipientAttachment alias DocuSign.Model.RecipientEmailNotification alias DocuSign.Model.RecipientIdentityVerification alias DocuSign.Model.RecipientPhoneAuthentication alias DocuSign.Model.RecipientPhoneNumber alias DocuSign.Model.RecipientProofFile alias DocuSign.Model.RecipientSmsAuthentication alias DocuSign.Model.SocialAuthentication alias DocuSign.Model.UserInfo defstruct [ :accessCode, :accessCodeMetadata, :addAccessCodeToEmail, :additionalNotifications, :allowSystemOverrideForLockedRecipient, :autoRespondedReason, :bulkSendV2Recipient, :clientUserId, :completedCount, :consentDetailsList, :customFields, :declinedDateTime, :declinedReason, :deliveredDateTime, :deliveryMethod, :deliveryMethodMetadata, :designatorId, :designatorIdGuid, :documentTemplateId, :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, :proofFile, :recipientAttachments, :recipientAuthenticationStatus, :recipientFeatureMetadata, :recipientId, :recipientIdGuid, :recipientType, :recipientTypeMetadata, :requireIdLookup, :requireIdLookupMetadata, :roleName, :routingOrder, :routingOrderMetadata, :sentDateTime, :signedDateTime, :signingGroupId, :signingGroupIdMetadata, :signingGroupName, :signingGroupType, :signingGroupUsers, :smsAuthentication, :socialAuthentications, :status, :statusCode, :suppressEmails, :templateLocked, :templateRequired, :totalTabCount, :userId, :webFormRecipientViewId ] @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__{ :accessCode => String.t() | nil, :accessCodeMetadata => PropertyMetadata.t() | nil, :addAccessCodeToEmail => String.t() | nil, :additionalNotifications => [RecipientAdditionalNotification.t()] | nil, :allowSystemOverrideForLockedRecipient => String.t() | nil, :autoRespondedReason => String.t() | nil, :bulkSendV2Recipient => String.t() | nil, :clientUserId => String.t() | nil, :completedCount => String.t() | nil, :consentDetailsList => [ConsentDetails.t()] | nil, :customFields => [String.t()] | nil, :declinedDateTime => String.t() | nil, :declinedReason => String.t() | nil, :deliveredDateTime => String.t() | nil, :deliveryMethod => String.t() | nil, :deliveryMethodMetadata => PropertyMetadata.t() | nil, :designatorId => String.t() | nil, :designatorIdGuid => String.t() | nil, :documentTemplateId => String.t() | nil, :documentVisibility => [DocumentVisibility.t()] | nil, :email => String.t() | nil, :emailMetadata => PropertyMetadata.t() | nil, :emailNotification => RecipientEmailNotification.t() | nil, :emailRecipientPostSigningURL => String.t() | nil, :embeddedRecipientStartURL => String.t() | nil, :errorDetails => ErrorDetails.t() | nil, :faxNumber => String.t() | nil, :faxNumberMetadata => PropertyMetadata.t() | nil, :firstName => String.t() | nil, :firstNameMetadata => PropertyMetadata.t() | nil, :fullName => String.t() | nil, :fullNameMetadata => PropertyMetadata.t() | nil, :idCheckConfigurationName => String.t() | nil, :idCheckConfigurationNameMetadata => PropertyMetadata.t() | nil, :idCheckInformationInput => IdCheckInformationInput.t() | nil, :identityVerification => RecipientIdentityVerification.t() | nil, :inheritEmailNotificationConfiguration => String.t() | nil, :lastName => String.t() | nil, :lastNameMetadata => PropertyMetadata.t() | nil, :lockedRecipientPhoneAuthEditable => String.t() | nil, :lockedRecipientSmsEditable => String.t() | nil, :name => String.t() | nil, :nameMetadata => PropertyMetadata.t() | nil, :note => String.t() | nil, :noteMetadata => PropertyMetadata.t() | nil, :phoneAuthentication => RecipientPhoneAuthentication.t() | nil, :phoneNumber => RecipientPhoneNumber.t() | nil, :proofFile => RecipientProofFile.t() | nil, :recipientAttachments => [RecipientAttachment.t()] | nil, :recipientAuthenticationStatus => AuthenticationStatus.t() | nil, :recipientFeatureMetadata => [FeatureAvailableMetadata.t()] | nil, :recipientId => String.t() | nil, :recipientIdGuid => String.t() | nil, :recipientType => String.t() | nil, :recipientTypeMetadata => PropertyMetadata.t() | nil, :requireIdLookup => String.t() | nil, :requireIdLookupMetadata => PropertyMetadata.t() | nil, :roleName => String.t() | nil, :routingOrder => String.t() | nil, :routingOrderMetadata => PropertyMetadata.t() | nil, :sentDateTime => String.t() | nil, :signedDateTime => String.t() | nil, :signingGroupId => String.t() | nil, :signingGroupIdMetadata => PropertyMetadata.t() | nil, :signingGroupName => String.t() | nil, :signingGroupType => String.t() | nil, :signingGroupUsers => [UserInfo.t()] | nil, :smsAuthentication => RecipientSmsAuthentication.t() | nil, :socialAuthentications => [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, :webFormRecipientViewId => String.t() | nil } def decode(value) do value |> Deserializer.deserialize( :accessCodeMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :additionalNotifications, :list, RecipientAdditionalNotification ) |> Deserializer.deserialize( :consentDetailsList, :list, ConsentDetails ) |> Deserializer.deserialize( :deliveryMethodMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :documentVisibility, :list, DocumentVisibility ) |> Deserializer.deserialize( :emailMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :emailNotification, :struct, RecipientEmailNotification ) |> Deserializer.deserialize( :errorDetails, :struct, ErrorDetails ) |> Deserializer.deserialize( :faxNumberMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :firstNameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :fullNameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :idCheckConfigurationNameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :idCheckInformationInput, :struct, IdCheckInformationInput ) |> Deserializer.deserialize( :identityVerification, :struct, RecipientIdentityVerification ) |> Deserializer.deserialize( :lastNameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :nameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :noteMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :phoneAuthentication, :struct, RecipientPhoneAuthentication ) |> Deserializer.deserialize( :phoneNumber, :struct, RecipientPhoneNumber ) |> Deserializer.deserialize( :proofFile, :struct, RecipientProofFile ) |> Deserializer.deserialize( :recipientAttachments, :list, RecipientAttachment ) |> Deserializer.deserialize( :recipientAuthenticationStatus, :struct, AuthenticationStatus ) |> Deserializer.deserialize( :recipientFeatureMetadata, :list, FeatureAvailableMetadata ) |> Deserializer.deserialize( :recipientTypeMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :requireIdLookupMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :routingOrderMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :signingGroupIdMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :signingGroupUsers, :list, UserInfo ) |> Deserializer.deserialize( :smsAuthentication, :struct, RecipientSmsAuthentication ) |> Deserializer.deserialize( :socialAuthentications, :list, SocialAuthentication ) |> then(&struct(__MODULE__, &1)) end end