[Pleroma.Web.Nodeinfo.NodeinfoController]: Have a list of supported features

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-09-04 18:15:02 +02:00
parent 9fe9c09883
commit 57330dd91b
No known key found for this signature in database
GPG key ID: D5B7A8E43C997DEE

View file

@ -63,6 +63,24 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
%{}
end
features = [
"pleroma_api_socket",
"mastodon_api_socket",
"mastodon_api_streaming",
if Keyword.get(media_proxy, :enabled) do
"media_proxy"
end,
if Keyword.get(gopher, :enabled) do
"gopher"
end,
if Keyword.get(chat, :enabled) do
"pleroma_api_chat"
end,
if Keyword.get(suggestions, :enabled) do
"3rdparty_suggestions"
end
]
response = %{
version: "2.0",
software: %{
@ -84,7 +102,6 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
metadata: %{
nodeName: Keyword.get(instance, :name),
nodeDescription: Keyword.get(instance, :description),
mediaProxy: Keyword.get(media_proxy, :enabled),
private: !Keyword.get(instance, :public, true),
suggestions: %{
enabled: Keyword.get(suggestions, :enabled, false),
@ -94,10 +111,9 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
web: Keyword.get(suggestions, :web, "")
},
staffAccounts: staff_accounts,
chat: Keyword.get(chat, :enabled),
gopher: Keyword.get(gopher, :enabled),
federation: federation_response,
postFormats: Keyword.get(instance, :allowed_post_formats)
features: features,
}
}