diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/user.ex | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index b21caba9d..021207de9 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -339,4 +339,19 @@ defmodule Pleroma.User do      cs = User.info_changeset(user, %{info: new_info})      Repo.update(cs)    end + +  def delete (%User{} = user) do +    {:ok, user} = User.deactivate(user) + +    # Remove all relationships +    {:ok, followers } = User.get_followers(user) +    followers +    |> Enum.each(fn (follower) -> User.unfollow(follower, user) end) + +    {:ok, friends} = User.get_friends(user) +    friends +    |> Enum.each(fn (followed) -> User.unfollow(user, followed) end) + +    :ok +  end  end | 
