Add enabled check on /translation/languages
[akkoma] / lib / pleroma / web / akkoma_api / controllers / translation_controller.ex
index 49ef89a508774c8a8d48f34e86f1e7070d61ca41..ca9b4b64a9f067a537ebd419d47b4b6d28a9c90f 100644 (file)
@@ -21,10 +21,12 @@ defmodule Pleroma.Web.AkkomaAPI.TranslationController do
 
   @doc "GET /api/v1/akkoma/translation/languages"
   def languages(conn, _params) do
-    with {:ok, languages} <- get_languages() do
+    with {:enabled, true} <- {:enabled, Pleroma.Config.get([:translator, :enabled])},
+         {:ok, source_languages, dest_languages} <- get_languages() do
       conn
-      |> json(languages)
+      |> json(%{source: source_languages, target: dest_languages})
     else
+      {:enabled, false} -> json(conn, %{})
       e -> IO.inspect(e)
     end
   end
@@ -33,8 +35,8 @@ defmodule Pleroma.Web.AkkomaAPI.TranslationController do
     module = Pleroma.Config.get([:translator, :module])
 
     @cachex.fetch!(:translations_cache, "languages:#{module}}", fn _ ->
-      with {:ok, languages} <- module.languages() do
-        {:ok, languages}
+      with {:ok, source_languages, dest_languages} <- module.languages() do
+        {:ok, source_languages, dest_languages}
       else
         {:error, err} -> {:ignore, {:error, err}}
       end