diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/docs/json.ex | 1 | ||||
| -rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 19 | 
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/pleroma/docs/json.ex b/lib/pleroma/docs/json.ex index 74f8b2615..d1cf1f487 100644 --- a/lib/pleroma/docs/json.ex +++ b/lib/pleroma/docs/json.ex @@ -18,7 +18,6 @@ defmodule Pleroma.Docs.JSON do      with config <- Pleroma.Config.Loader.read("config/description.exs") do        config[:pleroma][:config_description]        |> Pleroma.Docs.Generator.convert_to_strings() -      |> Jason.encode!()      end    end  end diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex index 9c5fbfc5d..fa064a8c7 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -37,7 +37,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do    require Logger -  @descriptions_json Pleroma.Docs.JSON.compile() +  @descriptions Pleroma.Docs.JSON.compile()    @users_page_size 50    plug( @@ -892,9 +892,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do    end    def config_descriptions(conn, _params) do +    descriptions_json = +      @descriptions +      |> Enum.filter(&whitelisted_config?/1) +      |> Jason.encode!() +      conn      |> Plug.Conn.put_resp_content_type("application/json") -    |> Plug.Conn.send_resp(200, @descriptions_json) +    |> Plug.Conn.send_resp(200, descriptions_json)    end    def config_show(conn, %{"only_db" => true}) do @@ -1012,7 +1017,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do      end    end -  defp whitelisted_config?(%{"group" => group, "key" => key}) do +  defp whitelisted_config?(group, key) do      if whitelisted_configs = Config.get(:database_config_whitelist) do        Enum.any?(whitelisted_configs, fn {whitelisted_group, whitelisted_key} ->          group == inspect(whitelisted_group) && key == inspect(whitelisted_key) @@ -1022,6 +1027,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do      end    end +  defp whitelisted_config?(%{"group" => group, "key" => key}) do +    whitelisted_config?(group, key) +  end + +  defp whitelisted_config?(%{:group => group} = config) do +    whitelisted_config?(group, config[:key]) +  end +    def reload_emoji(conn, _params) do      Pleroma.Emoji.reload()  | 
