lib/ory/model/create_identity_body.ex

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

defmodule Ory.Model.CreateIdentityBody do
  @moduledoc """
  Create Identity Body
  """

  @derive [Poison.Encoder]
  defstruct [
    :credentials,
    :metadata_admin,
    :metadata_public,
    :recovery_addresses,
    :schema_id,
    :state,
    :traits,
    :verifiable_addresses
  ]

  @type t :: %__MODULE__{
    :credentials => Ory.Model.IdentityWithCredentials.t | nil,
    :metadata_admin => AnyType | nil,
    :metadata_public => AnyType | nil,
    :recovery_addresses => [Ory.Model.RecoveryIdentityAddress.t] | nil,
    :schema_id => String.t,
    :state => Ory.Model.IdentityState.t | nil,
    :traits => map(),
    :verifiable_addresses => [Ory.Model.VerifiableIdentityAddress.t] | nil
  }
end

defimpl Poison.Decoder, for: Ory.Model.CreateIdentityBody do
  import Ory.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:credentials, :struct, Ory.Model.IdentityWithCredentials, options)
    |> deserialize(:metadata_admin, :struct, Ory.Model.AnyType, options)
    |> deserialize(:metadata_public, :struct, Ory.Model.AnyType, options)
    |> deserialize(:recovery_addresses, :list, Ory.Model.RecoveryIdentityAddress, options)
    |> deserialize(:state, :struct, Ory.Model.IdentityState, options)
    |> deserialize(:verifiable_addresses, :list, Ory.Model.VerifiableIdentityAddress, options)
  end
end