diff options
author | rinpatch <rinpatch@sdf.org> | 2019-02-08 12:38:24 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-02-08 12:38:24 +0300 |
commit | 46aa8c18a211034bc102cfffec61c9cc8c3cdf02 (patch) | |
tree | 91c4c584885310f571faf0a8231754b9365d8092 /lib/pleroma/web/nodeinfo | |
parent | 25a659d2dcd093939aa2cba049902ea54ab89312 (diff) | |
download | pleroma-46aa8c18a211034bc102cfffec61c9cc8c3cdf02.tar.gz |
Add keyword policy
Diffstat (limited to 'lib/pleroma/web/nodeinfo')
-rw-r--r-- | lib/pleroma/web/nodeinfo/nodeinfo_controller.ex | 28 |
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 } |