Soundboard.Accounts.ApiTokens (soundboard v1.7.0)

Context for managing API tokens bound to users.

Summary

Types

revoke_result()

@type revoke_result() ::
  {:ok, Soundboard.Accounts.ApiToken.t()}
  | {:error, :forbidden | :not_found | Ecto.Changeset.t()}

verify_error()

@type verify_error() :: :invalid | :token_update_failed

verify_result()

@type verify_result() ::
  {:ok, Soundboard.Accounts.User.t(), Soundboard.Accounts.ApiToken.t()}
  | {:error, verify_error()}

Functions

generate_token(user, attrs \\ %{})

@spec generate_token(Soundboard.Accounts.User.t(), map()) ::
  {:ok, String.t(), Soundboard.Accounts.ApiToken.t()}
  | {:error, Ecto.Changeset.t()}

list_tokens(user)

revoke_token(user, token_id)

@spec revoke_token(Soundboard.Accounts.User.t(), integer() | String.t()) ::
  revoke_result()

verify_token(raw)

@spec verify_token(String.t()) :: verify_result()