diff options
| author | lain <lain@soykaf.club> | 2020-04-30 16:15:38 +0200 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-04-30 16:15:38 +0200 | 
| commit | fdd8e7f27697a7128e4e92020cdff6389c999acc (patch) | |
| tree | afdf8094254bfdc88e391e26562dfc6047ffdc78 | |
| parent | c9bfa51ea9c0048ffa4c0d3e28c196da2f38e384 (diff) | |
| download | pleroma-fdd8e7f27697a7128e4e92020cdff6389c999acc.tar.gz pleroma-fdd8e7f27697a7128e4e92020cdff6389c999acc.zip | |
CommonAPI: Use common pipeline for deletions.
| -rw-r--r-- | lib/pleroma/web/activity_pub/side_effects.ex | 6 | ||||
| -rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 4 | 
2 files changed, 6 insertions, 4 deletions
| diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index ac1d4c222..ef58fa399 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -30,7 +30,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do    end    # Tasks this handles: -  # - Delete create activity +  # - Delete and unpins the create activity    # - Replace object with Tombstone    # - Set up notification    def handle(%{data: %{"type" => "Delete", "object" => deleted_object}} = object, meta) do @@ -40,7 +40,9 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do      result =        case deleted_object do          %Object{} -> -          with {:ok, _, _} <- Object.delete(deleted_object) do +          with {:ok, _, activity} <- Object.delete(deleted_object), +               %User{} = user <- User.get_cached_by_ap_id(deleted_object.data["actor"]) do +            User.remove_pinnned_activity(user, activity)              :ok            end diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index d1efe0c36..7cb8e47d0 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -77,8 +77,8 @@ defmodule Pleroma.Web.CommonAPI do             {:find_activity, Activity.get_by_id_with_object(activity_id)},           %Object{} = object <- Object.normalize(activity),           true <- User.superuser?(user) || user.ap_id == object.data["actor"], -         {:ok, _} <- unpin(activity_id, user), -         {:ok, delete} <- ActivityPub.delete(object) do +         {:ok, delete_data, _} <- Builder.delete(user, object.data["id"]), +         {:ok, delete, _} <- Pipeline.common_pipeline(delete_data, local: true) do        {:ok, delete}      else        {:find_activity, _} -> {:error, :not_found} | 
