X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=ff3ec1197e16956be0a37bc4fcdfcfdbc07aacfc;hb=4ec2fb967e0eb0559e39a6d698107f6af4d7a891;hp=23ca8c9f3e2b2eb0e3c4f8edf4d28872b7ad53a3;hpb=e1b07402ab077899dd5b9c0023fbe1c48af259e9;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 23ca8c9f3..ff3ec1197 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1499,6 +1499,9 @@ defmodule Pleroma.User do end) delete_user_activities(user) + delete_notifications_from_user_activities(user) + + delete_outgoing_pending_follow_requests(user) delete_or_deactivate(user) end @@ -1585,6 +1588,13 @@ defmodule Pleroma.User do }) end + def delete_notifications_from_user_activities(%User{ap_id: ap_id}) do + Notification + |> join(:inner, [n], activity in assoc(n, :activity)) + |> where([n, a], fragment("? = ?", a.actor, ^ap_id)) + |> Repo.delete_all() + end + def delete_user_activities(%User{ap_id: ap_id} = user) do ap_id |> Activity.Queries.by_actor() @@ -1622,6 +1632,12 @@ defmodule Pleroma.User do defp delete_activity(_activity, _user), do: "Doing nothing" + defp delete_outgoing_pending_follow_requests(user) do + user + |> FollowingRelationship.outgoing_pending_follow_requests_query() + |> Repo.delete_all() + end + def html_filter_policy(%User{no_rich_text: true}) do Pleroma.HTML.Scrubber.TwitterText end