Current section

Files

Jump to
supabase_gotrue lib supabase go_true_behaviour.ex
Raw

lib/supabase/go_true_behaviour.ex

defmodule Supabase.GoTrueBehaviour do
@moduledoc false
alias Supabase.Client
alias Supabase.GoTrue.Session
alias Supabase.GoTrue.User
@type sign_in_response :: Supabase.result(Session.t()) | {:error, Ecto.Changeset.t()}
@callback get_user(Client.t(), Session.t()) :: Supabase.result(User.t())
@callback sign_in_with_oauth(Client.t(), map) ::
{:ok, atom, URI.t()} | {:error, Supabase.Error.t()}
@callback verify_otp(Client.t(), map) :: sign_in_response
@callback sign_in_with_otp(Client.t(), map) :: :ok | Supabase.result(Ecto.UUID.t())
@callback sign_in_with_sso(Client.t(), map) :: Supabase.result(URI.t())
@callback sign_in_with_id_token(Client.t(), map) :: sign_in_response
@callback sign_in_with_password(Client.t(), map) :: sign_in_response
@callback sign_up(Client.t(), map) :: {:ok, User.t(), binary} | {:error, Supabase.Error.t()}
end