Ash.Resource.Preparation behaviour (ash v1.37.2) View Source

The behaviour for an action-specific query preparation.

To implement one, simply implement the behaviour. init/1 is defined automatically by use Ash.Resource.Preparation, but can be implemented if you want to validate/transform any options passed to the module.

The main function is prepare/3. It takes the changeset, any options that were provided when this change was configured on a resource, and the context, which currently only has the actor.

To access any query arguments from within a preparation, make sure you are using Ash.Query.get_argument/2 as the argument keys may be strings or atoms.

Link to this section Summary

Link to this section Types

Specs

context() :: %{actor: Ash.Resource.record()} | %{}

Link to this section Callbacks

Specs

init(Keyword.t()) :: {:ok, Keyword.t()} | {:error, term()}
Link to this callback

prepare(query, arg2, context)

View Source

Specs

prepare(query, Keyword.t(), context()) :: query when query: struct()