# NOTE: This file is auto generated by OpenAPI Generator # https://openapi-generator.tech # Do not edit this file manually. defmodule DocuSign.Model.UserInformation do @moduledoc """ User information. """ alias DocuSign.Deserializer alias DocuSign.Model.AddressInformation alias DocuSign.Model.ConnectUserObject alias DocuSign.Model.ErrorDetails alias DocuSign.Model.ForgottenPasswordInformation alias DocuSign.Model.Group alias DocuSign.Model.NameValue alias DocuSign.Model.UserSettingsInformation defstruct [ :activationAccessCode, :company, :connectConfigurations, :countryCode, :createdDateTime, :customSettings, :defaultAccountId, :email, :enableConnectForUser, :errorDetails, :firstName, :forgottenPasswordInfo, :groupList, :hasRemoteNotary, :homeAddress, :initialsImageUri, :isAdmin, :isAlternateAdmin, :isManagedByScim, :isMembershipManagedByScim, :isNAREnabled, :jobTitle, :lastLogin, :lastName, :licenseStatus, :licenseType, :loginStatus, :middleName, :password, :passwordExpiration, :permissionProfileId, :permissionProfileName, :profileImageUri, :sendActivationEmail, :sendActivationOnInvalidLogin, :signatureImageUri, :subscribe, :suffixName, :title, :uri, :userAddedToAccountDateTime, :userId, :userName, :userProfileLastModifiedDate, :userSettings, :userStatus, :userType, :workAddress ] @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__{ :activationAccessCode => String.t() | nil, :company => String.t() | nil, :connectConfigurations => [ConnectUserObject.t()] | nil, :countryCode => String.t() | nil, :createdDateTime => String.t() | nil, :customSettings => [NameValue.t()] | nil, :defaultAccountId => String.t() | nil, :email => String.t() | nil, :enableConnectForUser => String.t() | nil, :errorDetails => ErrorDetails.t() | nil, :firstName => String.t() | nil, :forgottenPasswordInfo => ForgottenPasswordInformation.t() | nil, :groupList => [Group.t()] | nil, :hasRemoteNotary => boolean() | nil, :homeAddress => AddressInformation.t() | nil, :initialsImageUri => String.t() | nil, :isAdmin => String.t() | nil, :isAlternateAdmin => String.t() | nil, :isManagedByScim => String.t() | nil, :isMembershipManagedByScim => String.t() | nil, :isNAREnabled => String.t() | nil, :jobTitle => String.t() | nil, :lastLogin => String.t() | nil, :lastName => String.t() | nil, :licenseStatus => String.t() | nil, :licenseType => String.t() | nil, :loginStatus => String.t() | nil, :middleName => String.t() | nil, :password => String.t() | nil, :passwordExpiration => String.t() | nil, :permissionProfileId => String.t() | nil, :permissionProfileName => String.t() | nil, :profileImageUri => String.t() | nil, :sendActivationEmail => String.t() | nil, :sendActivationOnInvalidLogin => String.t() | nil, :signatureImageUri => String.t() | nil, :subscribe => String.t() | nil, :suffixName => String.t() | nil, :title => String.t() | nil, :uri => String.t() | nil, :userAddedToAccountDateTime => String.t() | nil, :userId => String.t() | nil, :userName => String.t() | nil, :userProfileLastModifiedDate => String.t() | nil, :userSettings => UserSettingsInformation.t() | nil, :userStatus => String.t() | nil, :userType => String.t() | nil, :workAddress => AddressInformation.t() | nil } def decode(value) do value |> Deserializer.deserialize( :connectConfigurations, :list, ConnectUserObject ) |> Deserializer.deserialize( :customSettings, :list, NameValue ) |> Deserializer.deserialize( :errorDetails, :struct, ErrorDetails ) |> Deserializer.deserialize( :forgottenPasswordInfo, :struct, ForgottenPasswordInformation ) |> Deserializer.deserialize( :groupList, :list, Group ) |> Deserializer.deserialize( :homeAddress, :struct, AddressInformation ) |> Deserializer.deserialize( :userSettings, :struct, UserSettingsInformation ) |> Deserializer.deserialize( :workAddress, :struct, AddressInformation ) |> then(&struct(__MODULE__, &1)) end end