fix: pass metadata argument on the udpate action

This commit is contained in:
Zach Daniel 2023-10-06 20:44:01 -04:00
parent da13981017
commit 981e659c8f

View file

@ -489,7 +489,7 @@ defmodule AshOban.Transformers.DefineSchedulers do
else else
quote location: :keep do quote location: :keep do
@impl unquote(worker) @impl unquote(worker)
def unquote(function_name)(%Oban.Job{args: %{"primary_key" => primary_key}} = job) do def unquote(function_name)(%Oban.Job{args: %{"primary_key" => primary_key} = args} = job) do
AshOban.debug( AshOban.debug(
"Trigger #{unquote(inspect(resource))}.#{unquote(trigger.name)} triggered for primary key #{inspect(primary_key)}", "Trigger #{unquote(inspect(resource))}.#{unquote(trigger.name)} triggered for primary key #{inspect(primary_key)}",
unquote(trigger.debug?) unquote(trigger.debug?)
@ -514,7 +514,9 @@ defmodule AshOban.Transformers.DefineSchedulers do
|> Ash.Changeset.new() |> Ash.Changeset.new()
|> prepare(primary_key) |> prepare(primary_key)
|> Ash.Changeset.set_context(%{private: %{ash_oban?: true}}) |> Ash.Changeset.set_context(%{private: %{ash_oban?: true}})
|> Ash.Changeset.for_action(unquote(trigger.action), %{}) |> Ash.Changeset.for_action(unquote(trigger.action), %{
metadata: args["metadata"] || %{}
})
|> AshOban.update_or_destroy(unquote(api)) |> AshOban.update_or_destroy(unquote(api))
|> case do |> case do
:ok -> :ok ->