aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex15
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