# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Model.Contact do
@moduledoc """
"""
alias DocuSign.Deserializer
alias DocuSign.Model.ContactPhoneNumber
alias DocuSign.Model.ErrorDetails
alias DocuSign.Model.NotaryContactDetails
@derive Jason.Encoder
defstruct [
:cloudProvider,
:cloudProviderContainerId,
:contactId,
:contactPhoneNumbers,
:contactUri,
:emails,
:errorDetails,
:isOwner,
:name,
:notaryContactDetails,
:organization,
:roomContactType,
:shared,
:signingGroup,
:signingGroupName
]
@type t :: %__MODULE__{
:cloudProvider => String.t() | nil,
:cloudProviderContainerId => String.t() | nil,
:contactId => String.t() | nil,
:contactPhoneNumbers => [ContactPhoneNumber.t()] | nil,
:contactUri => String.t() | nil,
:emails => [String.t()] | nil,
:errorDetails => ErrorDetails.t() | nil,
:isOwner => boolean() | nil,
:name => String.t() | nil,
:notaryContactDetails => NotaryContactDetails.t() | nil,
:organization => String.t() | nil,
:roomContactType => String.t() | nil,
:shared => String.t() | nil,
:signingGroup => String.t() | nil,
:signingGroupName => String.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(:contactPhoneNumbers, :list, ContactPhoneNumber)
|> Deserializer.deserialize(:errorDetails, :struct, ErrorDetails)
|> Deserializer.deserialize(
:notaryContactDetails,
:struct,
NotaryContactDetails
)
end
end