Lockspire.Storage.Ecto.Repository
(lockspire v1.0.0)
Copy Markdown
Default Ecto-backed implementation for Lockspire's domain storage contracts.
Summary
Functions
Deletes expired records in chunks of 1000 to prevent table locking.
Functions
@spec append_audit_event(Lockspire.Audit.Event.t() | map()) :: {:ok, Lockspire.Audit.Event.t()} | {:error, term()}
@spec fetch_logout_event_by_event_id(String.t()) :: {:ok, Lockspire.Domain.LogoutEvent.t() | nil} | {:error, term()}
@spec get_client_by_registration_access_token_hash(String.t()) :: {:ok, Lockspire.Domain.Client.t() | nil} | {:error, term()}
@spec list_all_logout_deliveries() :: {:ok, [Lockspire.Domain.LogoutDelivery.t()]} | {:error, term()}
@spec list_logout_deliveries(integer()) :: {:ok, [Lockspire.Domain.LogoutDelivery.t()]} | {:error, term()}
@spec mark_logout_delivery_enqueued(integer(), integer()) :: {:ok, Lockspire.Domain.LogoutDelivery.t()} | {:error, term()}
@spec prune_expired_records(module(), DateTime.t(), non_neg_integer()) :: non_neg_integer()
Deletes expired records in chunks of 1000 to prevent table locking.
@spec transact_with_audit(Lockspire.Audit.Event.t() | map(), (-> term())) :: {:ok, term()} | {:error, term()}
@spec validate_fapi_signing_readiness() :: :ok | {:error, :missing_compliant_active_key | :missing_compliant_publishable_key | term()}
@spec validate_message_signing_readiness() :: :ok | {:error, :missing_compliant_active_key | :missing_compliant_publishable_key | term()}