quarantine instances info
[akkoma] / lib / pleroma / web / mastodon_api / views / instance_view.ex
index 75964f176259367cbb6d754194b180f6ad6c0c73..a341ca6f4a4f11eb1a860ff685f22e311664903e 100644 (file)
@@ -37,7 +37,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       background_upload_limit: Keyword.get(instance, :background_upload_limit),
       banner_upload_limit: Keyword.get(instance, :banner_upload_limit),
       background_image: Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
-      shout_limit: Keyword.get(instance, :shout_limit),
+      shout_limit: Config.get([:shout, :limit]),
       description_limit: Keyword.get(instance, :description_limit),
       pleroma: %{
         metadata: %{
@@ -69,6 +69,10 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       if Config.get([:gopher, :enabled]) do
         "gopher"
       end,
+      # backwards compat
+      if Config.get([:shout, :enabled]) do
+        "chat"
+      end,
       if Config.get([:shout, :enabled]) do
         "shout"
       end,
@@ -91,7 +95,19 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       {:ok, data} = MRF.describe()
 
       data
-      |> Map.merge(%{quarantined_instances: quarantined})
+      |> Map.merge(%{
+        quarantined_instances:
+          quarantined
+          |> Enum.map(fn {instance, _reason} -> instance end)
+      })
+      |> Map.merge(%{
+        quarantined_instances_info: %{
+          "quarantined_instances" =>
+            quarantined
+            |> Enum.map(fn {instance, reason} -> {instance, %{"reason" => reason}} end)
+            |> Enum.into(%{})
+        }
+      })
     else
       %{}
     end