Merge branch 'v2-suggestions' into 'develop'
[akkoma] / lib / pleroma / web / mastodon_api / views / instance_view.ex
index db40ea3fab8f143cdc1092ffe587925950cc2290..5810f605a3bf60f9ce8ab8c8d69f12c056bd7910 100644 (file)
@@ -59,6 +59,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       "mastodon_api",
       "mastodon_api_streaming",
       "polls",
+      "v2_suggestions",
       "pleroma_explicit_addressing",
       "shareable_emoji_packs",
       "multifetch",
@@ -95,10 +96,19 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       {:ok, data} = MRF.describe()
 
       data
-      |> Map.merge(%{
-        quarantined_instances:
+      |> Map.put(
+        :quarantined_instances,
+        Enum.map(quarantined, fn {instance, _reason} -> instance end)
+      )
+      # This is for backwards compatibility. We originally didn't sent
+      # extra info like a reason why an instance was rejected/quarantined/etc.
+      # Because we didn't want to break backwards compatibility it was decided
+      # to add an extra "info" key.
+      |> Map.put(:quarantined_instances_info, %{
+        "quarantined_instances" =>
           quarantined
-          |> Enum.map(fn {instance, reason} -> %{"instance" => instance, "reason" => reason} end)
+          |> Enum.map(fn {instance, reason} -> {instance, %{"reason" => reason}} end)
+          |> Map.new()
       })
     else
       %{}