ash_state_machine/lib/transformers/ensure_state_selected.ex
2023-10-02 09:45:45 -04:00

15 lines
417 B
Elixir

defmodule AshStateMachine.Transformers.EnsureStateSelected do
# Ensures that `state` is always selected on queries.
@moduledoc false
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