This commit is contained in:
hakabahitoyo 2018-07-15 20:36:26 +09:00
parent 2eeaf01627
commit e7c580828c
2 changed files with 11 additions and 6 deletions

View file

@ -96,7 +96,8 @@
port: 9999 port: 9999
config :pleroma, :suggestions, config :pleroma, :suggestions,
third_party_engine: "http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}" third_party_engine:
"http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}"
# Import environment specific config. This must remain at the bottom # Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above. # of this file so it overrides the configuration defined above.

View file

@ -1076,16 +1076,20 @@ def errors(conn, _) do
@suggestions Application.get_env(:pleroma, :suggestions) @suggestions Application.get_env(:pleroma, :suggestions)
def suggestions(%{assigns: %{user: user}} = conn, _) do def suggestions(%{assigns: %{user: user}} = conn, _) do
host = String.replace Web.base_url(), "https://", "" host = String.replace(Web.base_url(), "https://", "")
user = user.nickname user = user.nickname
api = Keyword.get(@suggestions, :third_party_engine, "") api = Keyword.get(@suggestions, :third_party_engine, "")
url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user) url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user)
with {:ok, %{status_code: 200, body: body}} <- with {:ok, %{status_code: 200, body: body}} <-
@httpoison.get(url, [], [timeout: 300000, recv_timeout: 300000]), @httpoison.get(url, [], timeout: 300_000, recv_timeout: 300_000),
{:ok, data} <- Jason.decode(body) do {:ok, data} <- Jason.decode(body) do
data2 = Enum.slice(data, 0, 40) |> Enum.map(fn(x) -> data2 =
Map.put(x, "id", User.get_or_fetch(x["acct"]).id) Enum.slice(data, 0, 40)
end) |> Enum.map(fn x ->
Map.put(x, "id", User.get_or_fetch(x["acct"]).id)
end)
conn conn
|> json(data2) |> json(data2)
else else