Merge branch 'feature/funkwhale-audio' into 'develop'
[akkoma] / lib / pleroma / config / config_db.ex
index 102e2677354b94bda6868c62761af8902f751583..2b43d4c365f91586b5e0a9b569958fce83048a74 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.ConfigDB do
@@ -199,7 +199,7 @@ defmodule Pleroma.ConfigDB do
     end)
   end
 
-  @spec delete(map()) :: {:ok, ConfigDB.t()} | {:error, Changeset.t()} | {:ok, nil}
+  @spec delete(map()) :: {:ok, ConfigDB.t()} | {:error, Changeset.t()}
   def delete(params) do
     search_opts = Map.delete(params, :subkeys)
 
@@ -213,11 +213,9 @@ defmodule Pleroma.ConfigDB do
     else
       {:partial_remove, config, []} ->
         Repo.delete(config)
-        {:ok, nil}
 
       {config, nil} ->
         Repo.delete(config)
-        {:ok, nil}
 
       nil ->
         err =
@@ -238,15 +236,7 @@ defmodule Pleroma.ConfigDB do
   end
 
   @spec from_string(String.t()) :: atom() | no_return()
-  def from_string(":" <> entity), do: String.to_existing_atom(entity)
-
-  def from_string(entity) when is_binary(entity) do
-    if is_module_name?(entity) do
-      String.to_existing_atom("Elixir.#{entity}")
-    else
-      entity
-    end
-  end
+  def from_string(string), do: do_transform_string(string)
 
   @spec convert(any()) :: any()
   def convert(entity), do: do_convert(entity)
@@ -418,7 +408,7 @@ defmodule Pleroma.ConfigDB do
 
   @spec is_module_name?(String.t()) :: boolean()
   def is_module_name?(string) do
-    Regex.match?(~r/^(Pleroma|Phoenix|Tesla|Quack|Ueberauth)\./, string) or
+    Regex.match?(~r/^(Pleroma|Phoenix|Tesla|Quack|Ueberauth|Swoosh)\./, string) or
       string in ["Oban", "Ueberauth", "ExSyslogger"]
   end
 end