aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex58
-rw-r--r--lib/pleroma/web/nodeinfo/nodeinfo_controller.ex9
2 files changed, 3 insertions, 64 deletions
diff --git a/lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex b/lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex
index fe71c36af..b9cc8f104 100644
--- a/lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex
+++ b/lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex
@@ -7,62 +7,8 @@ defmodule Pleroma.Web.MastodonAPI.SuggestionController do
require Logger
- alias Pleroma.Config
- alias Pleroma.Plugs.OAuthScopesPlug
- alias Pleroma.User
- alias Pleroma.Web.MediaProxy
-
- action_fallback(Pleroma.Web.MastodonAPI.FallbackController)
-
- plug(OAuthScopesPlug, %{scopes: ["read"]} when action == :index)
-
- plug(Pleroma.Plugs.EnsurePublicOrAuthenticatedPlug)
-
@doc "GET /api/v1/suggestions"
- def index(%{assigns: %{user: user}} = conn, _) do
- if Config.get([:suggestions, :enabled], false) do
- with {:ok, data} <- fetch_suggestions(user) do
- limit = Config.get([:suggestions, :limit], 23)
-
- data =
- data
- |> Enum.slice(0, limit)
- |> Enum.map(fn x ->
- x
- |> Map.put("id", fetch_suggestion_id(x))
- |> Map.put("avatar", MediaProxy.url(x["avatar"]))
- |> Map.put("avatar_static", MediaProxy.url(x["avatar_static"]))
- end)
-
- json(conn, data)
- end
- else
- json(conn, [])
- end
- end
-
- defp fetch_suggestions(user) do
- api = Config.get([:suggestions, :third_party_engine], "")
- timeout = Config.get([:suggestions, :timeout], 5000)
- host = Config.get([Pleroma.Web.Endpoint, :url, :host])
-
- url =
- api
- |> String.replace("{{host}}", host)
- |> String.replace("{{user}}", user.nickname)
-
- with {:ok, %{status: 200, body: body}} <-
- Pleroma.HTTP.get(url, [], adapter: [recv_timeout: timeout, pool: :default]) do
- Jason.decode(body)
- else
- e -> Logger.error("Could not retrieve suggestions at fetch #{url}, #{inspect(e)}")
- end
- end
-
- defp fetch_suggestion_id(attrs) do
- case User.get_or_fetch(attrs["acct"]) do
- {:ok, %User{id: id}} -> id
- _ -> 0
- end
+ def index(conn, _) do
+ json(conn, [])
end
end
diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
index abcf46034..03c35cc2a 100644
--- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
+++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
@@ -69,9 +69,6 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
if Config.get([:chat, :enabled]) do
"chat"
end,
- if Config.get([:suggestions, :enabled]) do
- "suggestions"
- end,
if Config.get([:instance, :allow_relay]) do
"relay"
end,
@@ -104,11 +101,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
nodeDescription: Config.get([:instance, :description]),
private: !Config.get([:instance, :public], true),
suggestions: %{
- enabled: Config.get([:suggestions, :enabled], false),
- thirdPartyEngine: Config.get([:suggestions, :third_party_engine], ""),
- timeout: Config.get([:suggestions, :timeout], 5000),
- limit: Config.get([:suggestions, :limit], 23),
- web: Config.get([:suggestions, :web], "")
+ enabled: false
},
staffAccounts: staff_accounts,
federation: federation_response,