diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex | 58 | ||||
| -rw-r--r-- | lib/pleroma/web/nodeinfo/nodeinfo_controller.ex | 9 | 
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, | 
