Deletions: purge the user immediately
This commit is contained in:
parent
be2da95c36
commit
c6d4133727
1 changed files with 10 additions and 15 deletions
|
@ -1724,31 +1724,27 @@ def delete(users) when is_list(users) do
|
|||
end
|
||||
|
||||
def delete(%User{} = user) do
|
||||
purge(user)
|
||||
BackgroundWorker.enqueue("delete_user", %{"user_id" => user.id})
|
||||
end
|
||||
|
||||
defp delete_and_invalidate_cache(%User{} = user) do
|
||||
defp delete_from_db(%User{} = user) do
|
||||
invalidate_cache(user)
|
||||
Repo.delete(user)
|
||||
end
|
||||
|
||||
defp delete_or_purge(%User{local: false} = user), do: purge(user)
|
||||
|
||||
defp delete_or_purge(%User{local: true} = user) do
|
||||
defp maybe_delete_from_db(%User{local: true} = user) do
|
||||
status = account_status(user)
|
||||
|
||||
case status do
|
||||
:confirmation_pending ->
|
||||
delete_and_invalidate_cache(user)
|
||||
|
||||
:approval_pending ->
|
||||
delete_and_invalidate_cache(user)
|
||||
|
||||
_ ->
|
||||
purge(user)
|
||||
if status in [:confirmation_pending, :approval_pending] do
|
||||
delete_from_db(user)
|
||||
else
|
||||
{:ok, user}
|
||||
end
|
||||
end
|
||||
|
||||
defp maybe_delete_from_db(user), do: {:ok, user}
|
||||
|
||||
def perform(:force_password_reset, user), do: force_password_reset(user)
|
||||
|
||||
@spec perform(atom(), User.t()) :: {:ok, User.t()}
|
||||
|
@ -1770,10 +1766,9 @@ def perform(:delete, %User{} = user) do
|
|||
|
||||
delete_user_activities(user)
|
||||
delete_notifications_from_user_activities(user)
|
||||
|
||||
delete_outgoing_pending_follow_requests(user)
|
||||
|
||||
delete_or_purge(user)
|
||||
maybe_delete_from_db(user)
|
||||
end
|
||||
|
||||
def perform(:set_activation_async, user, status), do: set_activation(user, status)
|
||||
|
|
Loading…
Reference in a new issue