Lockspire.Storage.ClientStore behaviour
(lockspire v1.0.0)
Copy Markdown
Domain-level persistence contract for OAuth clients.
Summary
Types
@type store_error() :: term()
Callbacks
@callback fetch_client_by_id(String.t()) :: {:ok, Lockspire.Domain.Client.t() | nil} | {:error, store_error()}
@callback list_clients(keyword()) :: {:ok, [Lockspire.Domain.Client.t()]} | {:error, store_error()}
@callback register_client(Lockspire.Domain.Client.t()) :: {:ok, Lockspire.Domain.Client.t()} | {:error, store_error()}
@callback rotate_client_secret(Lockspire.Domain.Client.t(), String.t(), DateTime.t()) :: {:ok, Lockspire.Domain.Client.t()} | {:error, store_error()}
@callback set_client_active(Lockspire.Domain.Client.t(), boolean(), map()) :: {:ok, Lockspire.Domain.Client.t()} | {:error, store_error()}
@callback update_client(Lockspire.Domain.Client.t(), map()) :: {:ok, Lockspire.Domain.Client.t()} | {:error, store_error()}