|
|
@@ -181,6 +181,14 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do |
|
|
|
|
|
|
|
defp check_banner_removal(_actor_info, object), do: {:ok, object} |
|
|
|
|
|
|
|
defp check_object(%{"object" => object} = activity) when is_map(object) do |
|
|
|
with {:ok, _object} <- filter(object) do |
|
|
|
{:ok, activity} |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
defp check_object(object), do: {:ok, object} |
|
|
|
|
|
|
|
@impl true |
|
|
|
def filter(%{"type" => "Delete", "actor" => actor} = object) do |
|
|
|
%{host: actor_host} = URI.parse(actor) |
|
|
@@ -206,7 +214,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do |
|
|
|
{:ok, object} <- check_media_nsfw(actor_info, object), |
|
|
|
{:ok, object} <- check_ftl_removal(actor_info, object), |
|
|
|
{:ok, object} <- check_followers_only(actor_info, object), |
|
|
|
{:ok, object} <- check_report_removal(actor_info, object) do |
|
|
|
{:ok, object} <- check_report_removal(actor_info, object), |
|
|
|
{:ok, object} <- check_object(object) do |
|
|
|
{:ok, object} |
|
|
|
else |
|
|
|
{:reject, nil} -> {:reject, "[SimplePolicy]"} |
|
|
|