# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.WebFinger do
end
defp gather_aliases(%User{} = user) do
- [user.ap_id] ++ user.also_known_as
+ [user.ap_id | user.also_known_as]
end
def represent_user(user, "JSON") do
{:ok, user} = User.ensure_keys_present(user)
aliases =
- gather_aliases(user)
- |> Enum.map(fn the_alias -> {:Alias, the_alias} end)
+ user
+ |> gather_aliases()
+ |> Enum.map(&{:Alias, &1})
links =
gather_links(user)
{"application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"", "self"} ->
Map.put(data, "ap_id", link["href"])
+ {nil, "http://ostatus.org/schema/1.0/subscribe"} ->
+ Map.put(data, "subscribe_address", link["template"])
+
_ ->
Logger.debug("Unhandled type: #{inspect(link["type"])}")
data