diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-01-21 10:14:48 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-01-21 10:14:48 +0300 |
commit | dcae5914d1f7d540e3c20be5988d5e3547a349cd (patch) | |
tree | f7dea04285627fa388d0f22425c11ec86fd9db9b /lib | |
parent | 8023fa48dbc68fe696337a4da940b95fd209e304 (diff) | |
download | pleroma-dcae5914d1f7d540e3c20be5988d5e3547a349cd.tar.gz |
fix for db key
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/config/config_db.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/pleroma/config/config_db.ex b/lib/pleroma/config/config_db.ex index 0091f7a1b..1afe294f4 100644 --- a/lib/pleroma/config/config_db.ex +++ b/lib/pleroma/config/config_db.ex @@ -205,9 +205,14 @@ defmodule Pleroma.ConfigDB do {config, sub_keys} when is_list(sub_keys) <- {config, params[:subkeys]}, old_value <- from_binary(config.value), keys <- Enum.map(sub_keys, &do_transform_string(&1)), - new_value <- Keyword.drop(old_value, keys) do + {:partial_remove, config, new_value} when new_value != [] <- + {:partial_remove, config, Keyword.drop(old_value, keys)} do ConfigDB.update(config, %{value: new_value}) else + {:partial_remove, config, []} -> + Repo.delete(config) + {:ok, nil} + {config, nil} -> Repo.delete(config) {:ok, nil} diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex index 30343a9f1..d45b1f7a7 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -831,7 +831,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do Enum.map(values, fn {key, value} -> db = if configs[group][key] do - ConfigDB.get_db_keys(value, key) + ConfigDB.get_db_keys(configs[group][key], key) end db_value = configs[group][key] |