diff options
| author | Alex Gleason <alex@alexgleason.me> | 2020-08-17 21:52:28 -0500 | 
|---|---|---|
| committer | Alex Gleason <alex@alexgleason.me> | 2020-08-17 21:52:28 -0500 | 
| commit | d55faa2f8fc3d613a3fa44b521fed27f8231c558 (patch) | |
| tree | edbee26df380397ad8bd6b19ed275b1fc55c5214 /lib | |
| parent | 34b099fffa64c20d42c417abb06e0e32a5ad296a (diff) | |
| download | pleroma-d55faa2f8fc3d613a3fa44b521fed27f8231c558.tar.gz pleroma-d55faa2f8fc3d613a3fa44b521fed27f8231c558.zip | |
Purge a local user upon deletion, fixes #2062
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/user.ex | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index ac065e9dc..a8bdcdad7 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1583,6 +1583,18 @@ defmodule Pleroma.User do      |> update_and_set_cache()    end +  @spec purge_user_changeset(User.t()) :: Changeset.t() +  def purge_user_changeset(user) do +    change(user, %{ +      deactivated: true, +      email: nil, +      avatar: %{}, +      banner: %{}, +      background: %{}, +      fields: [] +    }) +  end +    def delete(users) when is_list(users) do      for user <- users, do: delete(user)    end @@ -1610,7 +1622,7 @@ defmodule Pleroma.User do        _ ->          user -        |> change(%{deactivated: true, email: nil}) +        |> purge_user_changeset()          |> update_and_set_cache()      end    end | 
