Page MenuHomePhorge

No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None
diff --git a/lib/mix/tasks/pleroma/config.ex b/lib/mix/tasks/pleroma/config.ex
index a389252ac..d160ce533 100644
--- a/lib/mix/tasks/pleroma/config.ex
+++ b/lib/mix/tasks/pleroma/config.ex
@@ -307,6 +307,13 @@ defmodule Mix.Tasks.Pleroma.Config do
if blacklisted_configs in [nil, false] do
shell_error("No unwanted settings in ConfigDB. No changes made.")
else
+ blacklisted_groups =
+ blacklisted_configs
+ |> Enum.filter(fn
+ {_group} -> true
+ _ -> false
+ end)
+
blacklisted_keys =
blacklisted_configs
|> Enum.filter(fn
@@ -317,7 +324,7 @@ defmodule Mix.Tasks.Pleroma.Config do
filtered =
from(c in ConfigDB)
|> Repo.all()
- |> Enum.filter(&blacklisted?(&1, blacklisted_keys))
+ |> Enum.filter(&blacklisted?(&1, blacklisted_groups, blacklisted_keys))
if not Enum.empty?(filtered) do
shell_info("The following settings will be removed from ConfigDB:\n")
@@ -541,7 +548,8 @@ defmodule Mix.Tasks.Pleroma.Config do
not Enum.member?(whitelisted_keys, {group, key})
end
- defp blacklisted?(%{group: group, key: key}, blacklisted_keys) do
- Enum.member?(blacklisted_keys, {group, key})
+ defp blacklisted?(%{group: group, key: key}, blacklisted_groups, blacklisted_keys) do
+ Enum.member?(blacklisted_groups, {group}) or
+ Enum.member?(blacklisted_keys, {group, key})
end
end
diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs
index 3ae6e7f16..b35e0aed8 100644
--- a/test/mix/tasks/pleroma/config_test.exs
+++ b/test/mix/tasks/pleroma/config_test.exs
@@ -373,11 +373,13 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do
test "filters blacklisted settings" do
clear_config(:database_config_whitelist, [{:pleroma}])
clear_config(:database_config_blacklist, [
- {:pleroma, :logger}
+ {:pleroma, :logger},
+ {:blacklisted_group}
])
insert_config_record(:pleroma, :logger, backends: :console)
insert_config_record(:web_push_encryption, :vapid_details, a: 1)
+ insert_config_record(:blacklisted_group, :anything, a: 1)
MixTask.run(["filter_blacklisted", "--force"])

File Metadata

Mime Type
text/x-diff
Expires
Mon, Jul 20, 7:14 AM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1695455
Default Alt Text
(2 KB)

Event Timeline