Packages

An Elixir library for interacting with the Clerk API

Current section

Files

Jump to
clerk_ex lib ports user.ex
Raw

lib/ports/user.ex

defmodule Clerk.Ports.User do
@moduledoc """
Behaviour that defines the expected functions for a User adapter.
"""
alias Clerk.Shared.HandleResponse
@callback get_id(String.t()) :: HandleResponse.t()
@callback list() :: HandleResponse.t()
@callback create(map()) :: HandleResponse.t()
@callback count() :: HandleResponse.t()
@callback update(String.t(), map()) :: HandleResponse.t()
@callback delete_id(String.t()) :: HandleResponse.t()
@callback ban(String.t()) :: HandleResponse.t()
@callback unban(String.t()) :: HandleResponse.t()
@callback lock(String.t()) :: HandleResponse.t()
@callback unlock(String.t()) :: HandleResponse.t()
@callback set_profile_image(String.t(), String.t()) :: HandleResponse.t()
@callback delete_profile_image(String.t()) :: HandleResponse.t()
@callback merge_and_update_user_metadata(String.t(), map()) :: HandleResponse.t()
@callback oauth_access_token(String.t(), String.t()) :: HandleResponse.t()
@callback list_memberships(String.t()) :: HandleResponse.t()
@callback list_invitations(String.t()) :: HandleResponse.t()
@callback verify_password(String.t(), String.t()) :: HandleResponse.t()
@callback verify_totp(String.t(), String.t()) :: HandleResponse.t()
end