transmogrifier: use User.delete() instead of handrolled user deletion code for remote users

Closes #1104
This commit is contained in:
Ariadne Conill 2019-07-28 21:29:10 +00:00
commit 492d854e7a
3 changed files with 60 additions and 14 deletions

View file

@ -656,20 +656,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
nil ->
case User.get_cached_by_ap_id(object_id) do
%User{ap_id: ^actor} = user ->
{:ok, followers} = User.get_followers(user)
Enum.each(followers, fn follower ->
User.unfollow(follower, user)
end)
{:ok, friends} = User.get_friends(user)
Enum.each(friends, fn followed ->
User.unfollow(user, followed)
end)
User.invalidate_cache(user)
Repo.delete(user)
User.delete(user)
nil ->
:error