ash_state_machine/lib/transformers/ensure_state_selected.ex

14 lines
409 B
Elixir

defmodule AshStateMachine.Transformers.EnsureStateSelected do
@moduledoc "Ensures that `state` is always selected on queries."
use Spark.Dsl.Transformer
def transform(dsl_state) do
Ash.Resource.Builder.add_preparation(
dsl_state,
{Ash.Resource.Preparation.Build,
ensure_selected: [
AshStateMachine.Info.state_machine_state_attribute(dsl_state)
]}
)
end
end