chore: hotfix code_interface change

This commit is contained in:
Zach Daniel 2022-11-29 16:21:53 -05:00
parent ba0c0a0d25
commit 113b8740d4

View file

@ -20,15 +20,15 @@ defmodule Ash.CodeInterface do
@doc false @doc false
def default_value(resource, action, key) do def default_value(resource, action, key) do
field = {field_type, field} =
case Enum.find(action.arguments, fn argument -> case Enum.find(action.arguments, fn argument ->
argument.name == key argument.name == key
end) do end) do
nil -> nil ->
Ash.Resource.Info.attribute(resource, key) {:attribute, Ash.Resource.Info.attribute(resource, key)}
argument -> argument ->
argument {:argument, argument}
end end
if !field.allow_nil? do if !field.allow_nil? do
@ -36,14 +36,18 @@ defmodule Ash.CodeInterface do
end end
default = default =
if action.type == :update || (action.type == :destroy && action.soft?) do if field_type == :argument do
if is_nil(action.update_default) do
field.default
else
field.update_default
end
else
field.default field.default
else
if action.type == :update || (action.type == :destroy && action.soft?) do
if is_nil(action.update_default) do
field.default
else
field.update_default
end
else
field.default
end
end end
if is_function(default) do if is_function(default) do