lib/docusign/model/user_profiles.ex

# 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.UserProfiles do
  @moduledoc """
  Users' profiles
  """

  @derive [Poison.Encoder]
  defstruct [
    :address,
    :authenticationMethods,
    :companyName,
    :displayOrganizationInfo,
    :displayPersonalInfo,
    :displayProfile,
    :displayUsageHistory,
    :profileImageUri,
    :title,
    :usageHistory,
    :userDetails,
    :userProfileLastModifiedDate
  ]

  @type t :: %__MODULE__{
          :address => DocuSign.Model.AddressInformation.t() | nil,
          :authenticationMethods => [DocuSign.Model.AuthenticationMethod.t()] | nil,
          :companyName => String.t() | nil,
          :displayOrganizationInfo => String.t() | nil,
          :displayPersonalInfo => String.t() | nil,
          :displayProfile => String.t() | nil,
          :displayUsageHistory => String.t() | nil,
          :profileImageUri => String.t() | nil,
          :title => String.t() | nil,
          :usageHistory => DocuSign.Model.UsageHistory.t() | nil,
          :userDetails => DocuSign.Model.UserInformation.t() | nil,
          :userProfileLastModifiedDate => String.t() | nil
        }
end

defimpl Poison.Decoder, for: DocuSign.Model.UserProfiles do
  import DocuSign.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:address, :struct, DocuSign.Model.AddressInformation, options)
    |> deserialize(:authenticationMethods, :list, DocuSign.Model.AuthenticationMethod, options)
    |> deserialize(:usageHistory, :struct, DocuSign.Model.UsageHistory, options)
    |> deserialize(:userDetails, :struct, DocuSign.Model.UserInformation, options)
  end
end