aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-06-29 21:45:38 -0500
committerAlex Gleason <alex@alexgleason.me>2021-06-29 21:45:38 -0500
commitbe2da95c36c14ac42eee4009c6e3e803bafd3d2c (patch)
tree2e76b7577d4614f25c97f9da8f4ccaf324ed10a7 /lib
parentb221d77a6da07c684bdbc63ddf4500e0d7ffeae8 (diff)
downloadpleroma-be2da95c36c14ac42eee4009c6e3e803bafd3d2c.tar.gz
Correctly purge a remote user
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 9942617d8..aebb5da95 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1713,6 +1713,12 @@ defmodule Pleroma.User do
})
end
+ def purge(%User{} = user) do
+ user
+ |> purge_user_changeset()
+ |> update_and_set_cache()
+ end
+
def delete(users) when is_list(users) do
for user <- users, do: delete(user)
end
@@ -1726,9 +1732,9 @@ defmodule Pleroma.User do
Repo.delete(user)
end
- defp delete_or_deactivate(%User{local: false} = user), do: delete_and_invalidate_cache(user)
+ defp delete_or_purge(%User{local: false} = user), do: purge(user)
- defp delete_or_deactivate(%User{local: true} = user) do
+ defp delete_or_purge(%User{local: true} = user) do
status = account_status(user)
case status do
@@ -1739,9 +1745,7 @@ defmodule Pleroma.User do
delete_and_invalidate_cache(user)
_ ->
- user
- |> purge_user_changeset()
- |> update_and_set_cache()
+ purge(user)
end
end
@@ -1769,7 +1773,7 @@ defmodule Pleroma.User do
delete_outgoing_pending_follow_requests(user)
- delete_or_deactivate(user)
+ delete_or_purge(user)
end
def perform(:set_activation_async, user, status), do: set_activation(user, status)