forked from AkkomaGang/akkoma
do nothing if configuration is skipped
This commit is contained in:
parent
df3233e7e7
commit
d76f0d87be
2 changed files with 26 additions and 21 deletions
|
@ -95,9 +95,9 @@
|
||||||
ip: {0, 0, 0, 0},
|
ip: {0, 0, 0, 0},
|
||||||
port: 9999
|
port: 9999
|
||||||
|
|
||||||
config :pleroma, :suggestions,
|
# config :pleroma, :suggestions,
|
||||||
third_party_engine:
|
# third_party_engine:
|
||||||
"http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}"
|
# "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.
|
||||||
|
|
|
@ -1076,28 +1076,33 @@ 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 =
|
api = Keyword.get(@suggestions, :third_party_engine, false)
|
||||||
Application.get_env(:pleroma, Pleroma.Web.Endpoint)
|
|
||||||
|> Keyword.get(:url)
|
|
||||||
|> Keyword.get(:host)
|
|
||||||
|
|
||||||
user = user.nickname
|
if api do
|
||||||
api = Keyword.get(@suggestions, :third_party_engine, "")
|
host =
|
||||||
url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user)
|
Application.get_env(:pleroma, Pleroma.Web.Endpoint)
|
||||||
|
|> Keyword.get(:url)
|
||||||
|
|> Keyword.get(:host)
|
||||||
|
|
||||||
with {:ok, %{status_code: 200, body: body}} <-
|
user = user.nickname
|
||||||
@httpoison.get(url, [], timeout: 300_000, recv_timeout: 300_000),
|
url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user)
|
||||||
{:ok, data} <- Jason.decode(body) do
|
|
||||||
data2 =
|
|
||||||
Enum.slice(data, 0, 40)
|
|
||||||
|> Enum.map(fn x ->
|
|
||||||
Map.put(x, "id", User.get_or_fetch(x["acct"]).id)
|
|
||||||
end)
|
|
||||||
|
|
||||||
conn
|
with {:ok, %{status_code: 200, body: body}} <-
|
||||||
|> json(data2)
|
@httpoison.get(url, [], timeout: 300_000, recv_timeout: 300_000),
|
||||||
|
{:ok, data} <- Jason.decode(body) do
|
||||||
|
data2 =
|
||||||
|
Enum.slice(data, 0, 40)
|
||||||
|
|> Enum.map(fn x ->
|
||||||
|
Map.put(x, "id", User.get_or_fetch(x["acct"]).id)
|
||||||
|
end)
|
||||||
|
|
||||||
|
conn
|
||||||
|
|> json(data2)
|
||||||
|
else
|
||||||
|
e -> Logger.error("Could not decode user at fetch #{url}, #{inspect(e)}")
|
||||||
|
end
|
||||||
else
|
else
|
||||||
e -> Logger.error("Could not decode user at fetch #{url}, #{inspect(e)}")
|
json(conn, [])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue