Lightning.Extensions.CollectionHooking behaviour (Lightning v2.13.5)

View Source

Callbacks for additional processing on collections operations.

Summary

Types

limit_error()

@type limit_error() :: {:error, :exceeds_limit, Lightning.Extensions.Message.t()}

Callbacks

handle_create(attrs)

@callback handle_create(attrs :: map()) :: :ok | limit_error()

handle_delete(project_id, delta_size)

@callback handle_delete(
  project_id :: Ecto.UUID.t(),
  delta_size :: neg_integer()
) :: :ok

handle_delete_items(t, delta_size)

@callback handle_delete_items(
  Lightning.Collections.Collection.t(),
  delta_size :: neg_integer()
) :: :ok

handle_put_items(t, delta_size)

@callback handle_put_items(Lightning.Collections.Collection.t(), delta_size :: integer()) ::
  :ok | limit_error()