aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/activity_pub
diff options
context:
space:
mode:
authorIlja <domainepublic@spectraltheorem.be>2020-11-20 13:48:28 +0100
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2021-08-06 07:59:53 +0200
commit47fc57bbccbe5df32ef00dda0ee8bdd56b38885f (patch)
tree0a01e825d6b6ca170ce2bf506346a36c78db0fd9 /lib/pleroma/web/activity_pub
parent7fdc3cde065ce20257e0e03e416ca18775b18943 (diff)
downloadpleroma-47fc57bbccbe5df32ef00dda0ee8bdd56b38885f.tar.gz
Change what nodeinfo returns without breaking backwards compatibility
* Only for SimplePolicy for now * I added an extra mrf_simple_info key that has an object as value. The object contains only relevant extra info
Diffstat (limited to 'lib/pleroma/web/activity_pub')
-rw-r--r--lib/pleroma/web/activity_pub/mrf/simple_policy.ex18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
index 0853a05a7..22999ef58 100644
--- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
+++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
@@ -260,15 +260,27 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
def describe do
exclusions = Config.get([:mrf, :transparency_exclusions]) |> MRF.instance_list_from_tuples()
- mrf_simple =
+ mrf_simple_excluded =
Config.get(:mrf_simple)
|> Enum.map(fn {k, v} -> {k, Enum.reject(v, fn {v, _} -> v in exclusions end)} end)
+
+ mrf_simple =
+ mrf_simple_excluded
|> Enum.map(fn {k, v} ->
- {k, Enum.map(v, fn {i, r} -> %{"instance" => i, "reason" => r} end)}
+ {k, Enum.map(v, fn {instance, _} -> instance end)}
+ end)
+ |> Enum.into(%{})
+
+ mrf_simple_info =
+ mrf_simple_excluded
+ |> Enum.map(fn {k, v} -> {k, Enum.reject(v, fn {_, reason} -> reason == "" end)} end)
+ |> Enum.reject(fn {_, v} -> v == [] end)
+ |> Enum.map(fn {k, l} ->
+ {k, l |> Enum.map(fn {i, r} -> {i, %{"reason" => r}} end) |> Enum.into(%{})}
end)
|> Enum.into(%{})
- {:ok, %{mrf_simple: mrf_simple}}
+ {:ok, %{mrf_simple: mrf_simple, mrf_simple_info: mrf_simple_info}}
end
@impl true