Apply 6 suggestion(s) to 1 file(s)

This commit is contained in:
feld 2020-12-03 16:03:14 +00:00
parent 95e908e4e2
commit 60c4ac0f70

View file

@ -62,7 +62,10 @@ def run(["dump", group, key]) do
group = maybe_atomize(group) group = maybe_atomize(group)
key = maybe_atomize(key) key = maybe_atomize(key)
dump_key(group, key) %{group: group, key: key}
|> ConfigDB.get_by_params()
|> Repo.all()
|> Enum.each(&dump/1)
end) end)
end end
@ -297,44 +300,27 @@ defp dump_key(group, key) when is_atom(group) and is_atom(key) do
end end
defp dump_group(group) when is_atom(group) do defp dump_group(group) when is_atom(group) do
ConfigDB %{group: group}
|> ConfigDB.get_by_params()
|> Repo.all() |> Repo.all()
|> Enum.filter(fn x -> |> Enum.each(&dump/1)
if x.group == group do
x |> dump
end
end)
end end
defp group_exists?(group) when is_atom(group) do defp group_exists?(group) do
result = %{group: group}
ConfigDB |> ConfigDB.get_by_params()
|> Repo.all() |> Repo.all()
|> Enum.filter(fn x -> |> Enum.empty?()
if x.group == group do
x
end
end)
unless result == [] do
true
else
false
end
end end
defp maybe_atomize(arg) when is_atom(arg), do: arg defp maybe_atomize(arg) when is_atom(arg), do: arg
defp maybe_atomize(arg) when is_binary(arg) do defp maybe_atomize(arg) when is_binary(arg) do
chars = String.codepoints(arg) if Pleroma.ConfigDB.module_name?(arg) do
String.to_existing_atom("Elixir." <> arg)
# hack to make sure input like Pleroma.Mailer.Foo is formatted correctly
# for matching against values returned by Ecto
if "." in chars do
:"Elixir.#{arg}"
else else
String.to_atom(arg) String.to_atom(arg)
end end
end end
defp check_configdb(callback) do defp check_configdb(callback) do
@ -350,13 +336,9 @@ defp check_configdb(callback) do
defp delete_key(group, key) do defp delete_key(group, key) do
check_configdb(fn -> check_configdb(fn ->
ConfigDB ConfigDB.get_by_params(%{group: group, key: key})
|> Repo.all() |> Repo.all()
|> Enum.filter(fn x -> |> Enum.each(&delete(&1, true))
if x.group == group and x.key == key do
x |> delete(true)
end
end)
end) end)
end end
@ -366,13 +348,10 @@ defp delete_group(group) do
shell_info("The following settings will be removed from ConfigDB:\n") shell_info("The following settings will be removed from ConfigDB:\n")
dump_group(group) dump_group(group)
ConfigDB ConfigDB.get_by_params(%{group: group})
|> Repo.all() |> Repo.all()
|> Enum.filter(fn x -> |> Enum.each(&delete(&1, true))
if x.group == group do
x |> delete(true)
end
end)
else else
_ -> shell_error("No settings in ConfigDB for #{inspect(group)}. Aborting.") _ -> shell_error("No settings in ConfigDB for #{inspect(group)}. Aborting.")
end end