aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-05-16 17:07:09 +0000
committerlain <lain@soykaf.club>2020-05-16 17:07:09 +0000
commitd15aa9d9503e59b3cd0731394855781f435ec63c (patch)
tree844810415def046a2fc886d0bc1baeb1ff9afb21 /lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
parent9cf4c4fa73e68f03791c5cc70505b710be39b677 (diff)
parent3bc1138dd9beec03d2336fa1ad45dd23816f5285 (diff)
downloadpleroma-d15aa9d9503e59b3cd0731394855781f435ec63c.tar.gz
Merge branch 'develop' into 'remove-twitter-api'
# Conflicts: # lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
Diffstat (limited to 'lib/pleroma/web/nodeinfo/nodeinfo_controller.ex')
-rw-r--r--lib/pleroma/web/nodeinfo/nodeinfo_controller.ex47
1 files changed, 4 insertions, 43 deletions
diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
index c90d4c009..721b599d4 100644
--- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
+++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
@@ -9,8 +9,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
alias Pleroma.Stats
alias Pleroma.User
alias Pleroma.Web
- alias Pleroma.Web.ActivityPub.MRF
alias Pleroma.Web.Federator.Publisher
+ alias Pleroma.Web.MastodonAPI.InstanceView
def schemas(conn, _params) do
response = %{
@@ -34,50 +34,12 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
def raw_nodeinfo do
stats = Stats.get_stats()
- quarantined = Config.get([:instance, :quarantined_instances], [])
-
staff_accounts =
User.all_superusers()
|> Enum.map(fn u -> u.ap_id end)
- federation_response =
- if Config.get([:instance, :mrf_transparency]) do
- {:ok, data} = MRF.describe()
-
- data
- |> Map.merge(%{quarantined_instances: quarantined})
- else
- %{}
- end
- |> Map.put(:enabled, Config.get([:instance, :federating]))
-
- features =
- [
- "pleroma_api",
- "mastodon_api",
- "mastodon_api_streaming",
- "polls",
- "pleroma_explicit_addressing",
- "shareable_emoji_packs",
- "multifetch",
- "pleroma:api/v1/notifications:include_types_filter",
- if Config.get([:media_proxy, :enabled]) do
- "media_proxy"
- end,
- if Config.get([:gopher, :enabled]) do
- "gopher"
- end,
- if Config.get([:chat, :enabled]) do
- "chat"
- end,
- if Config.get([:instance, :allow_relay]) do
- "relay"
- end,
- if Config.get([:instance, :safe_dm_mentions]) do
- "safe_dm_mentions"
- end
- ]
- |> Enum.filter(& &1)
+ features = InstanceView.features()
+ federation = InstanceView.federation()
%{
version: "2.0",
@@ -105,8 +67,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
enabled: false
},
staffAccounts: staff_accounts,
- federation: federation_response,
- characterLimit: Config.get([:instance, :limit]),
+ federation: federation,
pollLimits: Config.get([:instance, :poll_limits]),
postFormats: Config.get([:instance, :allowed_post_formats]),
uploadLimits: %{