Add GET /api/pleroma/admin/relay endpoint - lists all followed relays

This commit is contained in:
Maxim Filippov 2019-10-11 19:12:29 +03:00
commit cc6875b582
8 changed files with 112 additions and 8 deletions

View file

@ -51,6 +51,20 @@ defmodule Pleroma.Web.ActivityPub.Relay do
def publish(_), do: {:error, "Not implemented"}
@spec list() :: {:ok, [String.t()]} | {:error, any()}
def list do
with %User{following: following} = _user <- get_actor() do
list =
following
|> Enum.map(fn entry -> URI.parse(entry).host end)
|> Enum.uniq()
{:ok, list}
else
error -> format_error(error)
end
end
defp format_error({:error, error}), do: format_error(error)
defp format_error(error) do