diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-06-29 21:45:38 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-06-29 21:45:38 -0500 |
commit | be2da95c36c14ac42eee4009c6e3e803bafd3d2c (patch) | |
tree | 2e76b7577d4614f25c97f9da8f4ccaf324ed10a7 /lib | |
parent | b221d77a6da07c684bdbc63ddf4500e0d7ffeae8 (diff) | |
download | pleroma-be2da95c36c14ac42eee4009c6e3e803bafd3d2c.tar.gz |
Correctly purge a remote user
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 16 |
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) |