lib/ex_vcom/model/user_details.ex

# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.

defmodule ExVcom.Model.UserDetails do
  @moduledoc """

  """

  @derive [Poison.Encoder]
  defstruct [
    :id,
    :title,
    :firstName,
    :lastName,
    :username,
    :email,
    :language,
    :company,
    :fax,
    :telephone,
    :cellphone,
    :address,
    :timezone,
    :hasVcom
  ]

  @type t :: %__MODULE__{
          :id => String.t(),
          :title => String.t(),
          :firstName => String.t(),
          :lastName => String.t(),
          :username => String.t(),
          :email => String.t(),
          :language => String.t(),
          :company => String.t(),
          :fax => String.t(),
          :telephone => String.t(),
          :cellphone => String.t(),
          :address => ExVcom.Model.Address.t(),
          :timezone => ExVcom.Model.Timezone.t(),
          :hasVcom => boolean()
        }
end

defimpl Poison.Decoder, for: ExVcom.Model.UserDetails do
  import ExVcom.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:address, :struct, ExVcom.Model.Address, options)
    |> deserialize(:timezone, :struct, ExVcom.Model.Timezone, options)
  end
end