Lockspire.Admin.Tokens (lockspire v1.0.0)

Copy Markdown

Shared query and command boundary for operator token support workflows.

Summary

Types

token_detail()

@type token_detail() :: %{
  token: map(),
  client: Lockspire.Domain.Client.t() | nil,
  status: token_status(),
  family_tokens: [map()],
  family_status: token_status(),
  family_revoked_count: non_neg_integer(),
  family_active_count: non_neg_integer(),
  family_reuse_detected_at: DateTime.t() | nil
}

token_status()

@type token_status() :: :active | :revoked | :expired | :reuse_detected

token_view()

@type token_view() :: %{
  token: Lockspire.Domain.Token.t(),
  client: Lockspire.Domain.Client.t() | nil,
  status: token_status()
}

Functions

get_token(token_id)

@spec get_token(integer()) :: {:ok, token_detail() | nil} | {:error, term()}

list_tokens(opts \\ [])

@spec list_tokens(keyword()) :: {:ok, [token_view()]} | {:error, term()}

revoke_token(token_id, attrs \\ %{})

@spec revoke_token(integer(), map()) :: {:ok, token_detail()} | {:error, term()}

revoke_token_family(token_id, attrs \\ %{})

@spec revoke_token_family(integer(), map()) ::
  {:ok, %{count: non_neg_integer(), token: token_detail()}} | {:error, term()}