aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-11-11 10:10:57 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-11-11 10:10:57 +0300
commitefc27f64643f24e97c604efa02c15bfe3210cf3b (patch)
tree17bd27e30219cc3c674d192caa352b8cb33b4a87 /lib
parent485697d96c6a45127af22b9a5f357c3802dba73c (diff)
downloadpleroma-efc27f64643f24e97c604efa02c15bfe3210cf3b.tar.gz
fix for adminFE
- revert UserAllowPolicy description - MRF descriptions order
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/mrf.ex42
-rw-r--r--lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex32
2 files changed, 58 insertions, 16 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex
index 656e4c7ca..ce125a696 100644
--- a/lib/pleroma/web/activity_pub/mrf.ex
+++ b/lib/pleroma/web/activity_pub/mrf.ex
@@ -5,10 +5,46 @@
defmodule Pleroma.Web.ActivityPub.MRF do
require Logger
+ @mrf_config_descriptions [
+ %{
+ group: :pleroma,
+ key: :mrf,
+ tab: :mrf,
+ label: "MRF",
+ type: :group,
+ description: "General MRF settings",
+ children: [
+ %{
+ key: :policies,
+ type: [:module, {:list, :module}],
+ description:
+ "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.",
+ suggestions: {:list_behaviour_implementations, Pleroma.Web.ActivityPub.MRF}
+ },
+ %{
+ key: :transparency,
+ label: "MRF transparency",
+ type: :boolean,
+ description:
+ "Make the content of your Message Rewrite Facility settings public (via nodeinfo)"
+ },
+ %{
+ key: :transparency_exclusions,
+ label: "MRF transparency exclusions",
+ type: {:list, :string},
+ description:
+ "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.",
+ suggestions: [
+ "exclusion.com"
+ ]
+ }
+ ]
+ }
+ ]
+
@default_description %{
label: "",
- description: "",
- children: []
+ description: ""
}
@required_description_keys [:key, :related_policy]
@@ -107,7 +143,7 @@ defmodule Pleroma.Web.ActivityPub.MRF do
end
def config_descriptions(policies) do
- Enum.reduce(policies, [], fn policy, acc ->
+ Enum.reduce(policies, @mrf_config_descriptions, fn policy, acc ->
if function_exported?(policy, :config_description, 0) do
description =
@default_description
diff --git a/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex b/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex
index 885bcca6f..f2859abde 100644
--- a/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex
+++ b/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex
@@ -42,17 +42,23 @@ defmodule Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy do
{:ok, %{mrf_user_allowlist: mrf_user_allowlist}}
end
- @impl true
- def config_description do
- %{
- key: :mrf_user_allowlist,
- related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy",
- description:
- "The keys in this section are the domain names that the policy should apply to." <>
- " Each key should be assigned a list of users that should be allowed through by their ActivityPub ID",
- suggestions: [
- %{"example.org" => ["https://example.org/users/admin"]}
- ]
- }
- end
+ # TODO: change way of getting settings on `lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex:18` to use `hosts` subkey
+ # @impl true
+ # def config_description do
+ # %{
+ # key: :mrf_user_allowlist,
+ # related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy",
+ # description: "Accept-list of users from specified instances",
+ # children: [
+ # %{
+ # key: :hosts,
+ # type: :map,
+ # description:
+ # "The keys in this section are the domain names that the policy should apply to." <>
+ # " Each key should be assigned a list of users that should be allowed through by their ActivityPub ID",
+ # suggestions: [%{"example.org" => ["https://example.org/users/admin"]}]
+ # }
+ # ]
+ # }
+ # end
end