Jido.Signal.Journal.Persistence behaviour (Jido Signal v1.2.0)

View Source

Defines the behavior for Journal persistence adapters.

Summary

Types

checkpoint()

@type checkpoint() :: non_neg_integer()

conversation_id()

@type conversation_id() :: String.t()

dlq_entry()

@type dlq_entry() :: %{
  id: String.t(),
  subscription_id: String.t(),
  signal: Jido.Signal.t(),
  reason: term(),
  metadata: map(),
  inserted_at: DateTime.t()
}

error()

@type error() :: {:error, term()}

signal_id()

@type signal_id() :: String.t()

subscription_id()

@type subscription_id() :: String.t()

Callbacks

clear_dlq(subscription_id, arg2)

@callback clear_dlq(subscription_id(), pid() | nil) :: :ok | error()

delete_checkpoint(subscription_id, arg2)

@callback delete_checkpoint(subscription_id(), pid() | nil) :: :ok | error()

delete_dlq_entry(t, arg2)

@callback delete_dlq_entry(String.t(), pid() | nil) :: :ok | error()

get_cause(signal_id, arg2)

@callback get_cause(signal_id(), pid() | nil) ::
  {:ok, signal_id()} | {:error, :not_found} | error()

get_checkpoint(subscription_id, arg2)

@callback get_checkpoint(subscription_id(), pid() | nil) ::
  {:ok, checkpoint()} | {:error, :not_found} | error()

get_conversation(conversation_id, arg2)

@callback get_conversation(conversation_id(), pid() | nil) :: {:ok, MapSet.t()} | error()

get_dlq_entries(subscription_id, arg2)

@callback get_dlq_entries(subscription_id(), pid() | nil) ::
  {:ok, [dlq_entry()]} | error()

get_effects(signal_id, arg2)

@callback get_effects(signal_id(), pid() | nil) :: {:ok, MapSet.t()} | error()

get_signal(signal_id, arg2)

@callback get_signal(signal_id(), pid() | nil) ::
  {:ok, Jido.Signal.t()} | {:error, :not_found} | error()

init()

@callback init() :: :ok | {:ok, pid()} | error()

put_cause(signal_id, signal_id, arg3)

@callback put_cause(signal_id(), signal_id(), pid() | nil) :: :ok | error()

put_checkpoint(subscription_id, checkpoint, arg3)

@callback put_checkpoint(subscription_id(), checkpoint(), pid() | nil) :: :ok | error()

put_conversation(conversation_id, signal_id, arg3)

@callback put_conversation(conversation_id(), signal_id(), pid() | nil) :: :ok | error()

put_dlq_entry(subscription_id, t, term, map, arg5)

@callback put_dlq_entry(subscription_id(), Jido.Signal.t(), term(), map(), pid() | nil) ::
  {:ok, String.t()} | error()

put_signal(t, arg2)

@callback put_signal(Jido.Signal.t(), pid() | nil) :: :ok | error()