Supabase.Auth.Schemas.OAuth.Client (supabase_auth v1.0.1)

View Source

Schema for OAuth client representation using schemaless changesets.

OAuth clients represent third-party applications that can request authorization from users.

Summary

Functions

Parses OAuth client data from API response.

Types

t()

@type t() :: %{
  id: String.t(),
  name: String.t(),
  uri: String.t(),
  logo_uri: String.t() | nil
}

Functions

parse(attrs)

@spec parse(map()) :: {:ok, t()} | {:error, Ecto.Changeset.t()}

Parses OAuth client data from API response.

Returns {:ok, map} with parsed client data or {:error, changeset} if validation fails.

Examples

iex> Client.parse(%{
...>   "id" => "client-123",
...>   "name" => "My App",
...>   "uri" => "https://example.com",
...>   "logo_uri" => "https://example.com/logo.png"
...> })
{:ok, %{
  id: "client-123",
  name: "My App",
  uri: "https://example.com",
  logo_uri: "https://example.com/logo.png"
}}

iex> Client.parse(%{})
{:error, %Ecto.Changeset{}}