lib/spatio/model/client_registration_request.ex

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

defmodule Spatio.Model.ClientRegistrationRequest do
  @moduledoc """
  
  """

  @derive JSON.Encoder
  defstruct [
    :client_name,
    :redirect_uris,
    :grant_types,
    :response_types,
    :scope,
    :token_endpoint_auth_method,
    :client_uri,
    :logo_uri,
    :policy_uri,
    :tos_uri
  ]

  @type t :: %__MODULE__{
    :client_name => String.t,
    :redirect_uris => [Uri],
    :grant_types => [String.t] | nil,
    :response_types => [String.t] | nil,
    :scope => String.t | nil,
    :token_endpoint_auth_method => String.t | nil,
    :client_uri => Uri | nil,
    :logo_uri => Uri | nil,
    :policy_uri => Uri | nil,
    :tos_uri => Uri | nil
  }

  alias Spatio.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:redirect_uris, :list, Spatio.Model.Uri)
     |> Deserializer.deserialize(:client_uri, :struct, Spatio.Model.Uri)
     |> Deserializer.deserialize(:logo_uri, :struct, Spatio.Model.Uri)
     |> Deserializer.deserialize(:policy_uri, :struct, Spatio.Model.Uri)
     |> Deserializer.deserialize(:tos_uri, :struct, Spatio.Model.Uri)
  end
end