mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 13:33:20 +12:00
fix: prepare_change_array on embedded types needs to handle nil
fix: handle_change_array on embedded types needs to honor `nil`
This commit is contained in:
parent
c691eb022c
commit
c2872b5181
2 changed files with 9 additions and 1 deletions
|
@ -80,6 +80,7 @@ defmodule Ash.DataLayer do
|
|||
| {:aggregate_relationship, Ash.Resource.Relationships.relationship()}
|
||||
| {:query_aggregate, Ash.Query.Aggregate.kind()}
|
||||
| :select
|
||||
| :expression_calculation_sort
|
||||
| :aggregate_filter
|
||||
| :aggregate_sort
|
||||
| :boolean_filter
|
||||
|
|
|
@ -478,7 +478,10 @@ defmodule Ash.EmbeddableType do
|
|||
end
|
||||
|
||||
def handle_change_array(old_values, nil, constraints) do
|
||||
handle_change_array(old_values, [], constraints)
|
||||
case handle_change_array(old_values, [], constraints) do
|
||||
{:ok, []} -> {:ok, nil}
|
||||
other -> other
|
||||
end
|
||||
end
|
||||
|
||||
def handle_change_array(old_values, new_values, constraints) do
|
||||
|
@ -522,6 +525,10 @@ defmodule Ash.EmbeddableType do
|
|||
end
|
||||
end
|
||||
|
||||
def prepare_change_array(nil, _new_uncasted_values, _constraints) do
|
||||
{:ok, nil}
|
||||
end
|
||||
|
||||
def prepare_change_array(old_values, new_uncasted_values, constraints) do
|
||||
pkey_fields = Ash.Resource.Info.primary_key(__MODULE__)
|
||||
|
||||
|
|
Loading…
Reference in a new issue