aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2020-11-27 14:02:45 -0600
committerMark Felder <feld@FreeBSD.org>2020-12-02 10:43:22 -0600
commitae7d37de0665021373d9bc4d01d648c7d812eaed (patch)
treeeba6fce75c9e7c83f3ab7aa709105e59acee7296
parentc6a0ca2213be0eac1233ae28c11e563109771c85 (diff)
downloadpleroma-ae7d37de0665021373d9bc4d01d648c7d812eaed.tar.gz
Fix deletion regression due to strings instead of atoms
Improve message after successful deletion
-rw-r--r--lib/mix/tasks/pleroma/config.ex29
1 files changed, 26 insertions, 3 deletions
diff --git a/lib/mix/tasks/pleroma/config.ex b/lib/mix/tasks/pleroma/config.ex
index a794344cb..e5536d16a 100644
--- a/lib/mix/tasks/pleroma/config.ex
+++ b/lib/mix/tasks/pleroma/config.ex
@@ -131,11 +131,34 @@ defmodule Mix.Tasks.Pleroma.Config do
end
end
- def run(["delete" | args]) when is_list(args) and length(args) == 2 do
+ def run(["delete", group]) do
with true <- Pleroma.Config.get([:configurable_from_database]) do
start_pleroma()
- [group, key] = args
+ group = group |> String.to_atom()
+
+ if shell_prompt("Are you sure you want to continue?", "n") in ~w(Yn Y y) do
+ ConfigDB
+ |> Repo.all()
+ |> Enum.filter(fn x ->
+ if x.group == group do
+ x |> delete(true)
+ end
+ end)
+ else
+ shell_info("No changes made.")
+ end
+ else
+ _ -> configdb_not_enabled()
+ end
+ end
+
+ def run(["delete", group, key]) do
+ with true <- Pleroma.Config.get([:configurable_from_database]) do
+ start_pleroma()
+
+ group = group |> String.to_atom()
+ key = key |> String.to_atom()
if shell_prompt("Are you sure you want to continue?", "n") in ~w(Yn Y y) do
ConfigDB
@@ -273,7 +296,7 @@ defmodule Mix.Tasks.Pleroma.Config do
defp delete(config, true) do
{:ok, _} = Repo.delete(config)
- shell_info("#{config.key} deleted from the ConfigDB.")
+ shell_info(":#{config.group}, :#{config.key} deleted from the ConfigDB.")
end
defp delete(_config, _), do: :ok