mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 05:23:03 +12:00
parent
53a3d6fb62
commit
6340014e8b
3 changed files with 18 additions and 6 deletions
|
@ -458,6 +458,16 @@ defmodule Ash.Changeset do
|
|||
end
|
||||
|
||||
@doc false
|
||||
def set_action_select(%{action: nil} = changeset) do
|
||||
%{
|
||||
changeset
|
||||
| action_select:
|
||||
MapSet.to_list(
|
||||
Ash.Resource.Info.selected_by_default_attribute_names(changeset.resource)
|
||||
)
|
||||
}
|
||||
end
|
||||
|
||||
def set_action_select(changeset) do
|
||||
required =
|
||||
Ash.Resource.Info.action_select(changeset.resource, changeset.action.name) || []
|
||||
|
|
|
@ -414,10 +414,12 @@ defmodule Ash.Resource.Igniter do
|
|||
{:ok, _zipper} <-
|
||||
Igniter.Code.List.move_to_list_item(zipper, fn zipper ->
|
||||
if Igniter.Code.Tuple.tuple?(zipper) do
|
||||
with {:ok, zipper} <- Igniter.Code.Tuple.tuple_elem(zipper, 0) do
|
||||
case Igniter.Code.Tuple.tuple_elem(zipper, 0) do
|
||||
{:ok, zipper} ->
|
||||
Igniter.Code.Common.nodes_equal?(zipper, type)
|
||||
else
|
||||
_ -> false
|
||||
|
||||
_ ->
|
||||
false
|
||||
end
|
||||
else
|
||||
Igniter.Code.Common.nodes_equal?(zipper, type)
|
||||
|
|
|
@ -165,13 +165,13 @@ defmodule Ash.Seed do
|
|||
|
||||
defp create_via_data_layer(changeset) do
|
||||
Ash.Changeset.with_hooks(changeset, fn changeset ->
|
||||
Ash.DataLayer.create(changeset.resource, changeset)
|
||||
Ash.DataLayer.create(changeset.resource, Ash.Changeset.set_action_select(changeset))
|
||||
end)
|
||||
end
|
||||
|
||||
defp update_via_data_layer(changeset) do
|
||||
Ash.Changeset.with_hooks(changeset, fn changeset ->
|
||||
Ash.DataLayer.update(changeset.resource, changeset)
|
||||
Ash.DataLayer.update(changeset.resource, Ash.Changeset.set_action_select(changeset))
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue