Add fields limits to instance metadata, add tests
authorMark Felder <feld@FreeBSD.org>
Tue, 30 Jun 2020 20:25:10 +0000 (15:25 -0500)
committerMark Felder <feld@FreeBSD.org>
Tue, 30 Jun 2020 20:25:10 +0000 (15:25 -0500)
lib/pleroma/web/mastodon_api/views/instance_view.ex
test/web/mastodon_api/controllers/instance_controller_test.exs

index 118678962ba6febfa8835f085b57fead29e4aa45..347480d4949cd7c3020251bf4de3f0b909b59ddb 100644 (file)
@@ -38,7 +38,8 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
         metadata: %{
           account_activation_required: Keyword.get(instance, :account_activation_required),
           features: features(),
-          federation: federation()
+          federation: federation(),
+          fields_limits: fields_limits()
         },
         vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key)
       }
@@ -89,4 +90,13 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
     end
     |> Map.put(:enabled, Config.get([:instance, :federating]))
   end
+
+  def fields_limits do
+    %{
+      maxFields: Config.get([:instance, :max_account_fields]),
+      maxRemoteFields: Config.get([:instance, :max_remote_account_fields]),
+      nameLength: Config.get([:instance, :account_field_name_length]),
+      valueLength: Config.get([:instance, :account_field_value_length])
+    }
+  end
 end
index 8bdfdddd18146dbda46c82f6ad6ed16f0f9d9c21..95ee26416768c7629be362c73ff66ea1aef44666 100644 (file)
@@ -35,8 +35,10 @@ defmodule Pleroma.Web.MastodonAPI.InstanceControllerTest do
              "background_image" => _
            } = result
 
+    assert result["pleroma"]["metadata"]["account_activation_required"] != nil
     assert result["pleroma"]["metadata"]["features"]
     assert result["pleroma"]["metadata"]["federation"]
+    assert result["pleroma"]["metadata"]["fields_limits"]
     assert result["pleroma"]["vapid_public_key"]
 
     assert email == from_config_email