aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/nodeinfo
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-02-08 12:38:24 +0300
committerrinpatch <rinpatch@sdf.org>2019-02-08 12:38:24 +0300
commit46aa8c18a211034bc102cfffec61c9cc8c3cdf02 (patch)
tree91c4c584885310f571faf0a8231754b9365d8092 /lib/pleroma/web/nodeinfo
parent25a659d2dcd093939aa2cba049902ea54ab89312 (diff)
downloadpleroma-46aa8c18a211034bc102cfffec61c9cc8c3cdf02.tar.gz
Add keyword policy
Diffstat (limited to 'lib/pleroma/web/nodeinfo')
-rw-r--r--lib/pleroma/web/nodeinfo/nodeinfo_controller.ex28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
index 21694a5ee..7c24d4761 100644
--- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
+++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
@@ -44,6 +44,33 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
Application.get_env(:pleroma, :mrf_simple)
|> Enum.into(%{})
+ # This horror is needed to convert regex sigils to strings
+ mrf_keyword =
+ Application.get_env(:pleroma, :mrf_keyword)
+ |> Enum.map(fn {key, value} ->
+ {key,
+ Enum.map(value, fn
+ {pattern, replacement} ->
+ %{
+ "pattern" =>
+ if not is_binary(pattern) do
+ inspect(pattern)
+ else
+ pattern
+ end,
+ "replacement" => replacement
+ }
+
+ pattern ->
+ if not is_binary(pattern) do
+ inspect(pattern)
+ else
+ pattern
+ end
+ end)}
+ end)
+ |> Enum.into(%{})
+
mrf_policies =
MRF.get_policies()
|> Enum.map(fn policy -> to_string(policy) |> String.split(".") |> List.last() end)
@@ -73,6 +100,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
%{
mrf_policies: mrf_policies,
mrf_simple: mrf_simple,
+ mrf_keyword: mrf_keyword,
mrf_user_allowlist: mrf_user_allowlist,
quarantined_instances: quarantined
}