From 6ffbbe93d5a79453f7c8726ad88ce916ee54626c Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Mon, 11 May 2020 13:37:29 -0500 Subject: [PATCH] :tada: It works! --- .../lib/farmbot_celery_script/compiler.ex | 2 +- farmbot_core/lib/farmbot_core/asset.ex | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/farmbot_celery_script/lib/farmbot_celery_script/compiler.ex b/farmbot_celery_script/lib/farmbot_celery_script/compiler.ex index d60a3152..8957058f 100644 --- a/farmbot_celery_script/lib/farmbot_celery_script/compiler.ex +++ b/farmbot_celery_script/lib/farmbot_celery_script/compiler.ex @@ -14,7 +14,7 @@ defmodule FarmbotCeleryScript.Compiler do @doc "Returns current debug mode value" def debug_mode?() do # Set this to `true` when debuging. - true + false end @valid_entry_points [:sequence, :rpc_request] diff --git a/farmbot_core/lib/farmbot_core/asset.ex b/farmbot_core/lib/farmbot_core/asset.ex index 32a0e974..b0f7dedd 100644 --- a/farmbot_core/lib/farmbot_core/asset.ex +++ b/farmbot_core/lib/farmbot_core/asset.ex @@ -257,9 +257,19 @@ defmodule FarmbotCore.Asset do # MARK AS steps. # NOTE: Updating the `meta` attribute is a _replace_ action # by default, not a merge action. - meta = Map.merge(point.meta || %{}, params[:meta] || %{}) + # MORE NOTES: Mixed keys (symbol vs. string) will crash this FN. + # Let's just stringify everything... + new_meta = params[:meta] || params["meta"] || %{} + old_meta = point.meta || %{} + updated_meta = Map.merge(old_meta, new_meta) + clean_params = params + |> Map.merge(%{meta: updated_meta}) + |> Enum.map(fn {k, v} -> {"#{k}", v} end) + |> Map.new() + + IO.inspect(clean_params, label: "####### HMMMM") Repo.get_by(Point, id: point.id) - |> Point.changeset(Map.merge(params, %{meta: meta})) + |> Point.changeset(clean_params) |> Repo.update() end