diff options
author | lain <lain@soykaf.club> | 2020-06-08 10:54:43 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-06-08 10:54:43 +0000 |
commit | c450b248cc867172d07d7d6e2c3ac072b236732b (patch) | |
tree | edf5116ceff6f8225e67677758c989bef6d8262f /lib | |
parent | a1aa9fa91320d527e93435fe236534003cd85d31 (diff) | |
parent | 8d9e58688712ea416109aaee2883cc9ace644e02 (diff) | |
download | pleroma-c450b248cc867172d07d7d6e2c3ac072b236732b.tar.gz |
Merge branch 'feature/delete-follow-requests-on-user-deletion' into 'develop'
Delete outgoing pending follow requests on user deletion
See merge request pleroma/pleroma!2631
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/following_relationship.ex | 6 | ||||
-rw-r--r-- | lib/pleroma/user.ex | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/following_relationship.ex b/lib/pleroma/following_relationship.ex index 3a3082e72..093b1f405 100644 --- a/lib/pleroma/following_relationship.ex +++ b/lib/pleroma/following_relationship.ex @@ -141,6 +141,12 @@ defmodule Pleroma.FollowingRelationship do |> where([r], r.state == ^:follow_accept) end + def outgoing_pending_follow_requests_query(%User{} = follower) do + __MODULE__ + |> where([r], r.follower_id == ^follower.id) + |> where([r], r.state == ^:follow_pending) + end + def following(%User{} = user) do following = following_query(user) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 72ee2d58e..c5c74d132 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1489,6 +1489,8 @@ defmodule Pleroma.User do delete_user_activities(user) + delete_outgoing_pending_follow_requests(user) + delete_or_deactivate(user) end @@ -1611,6 +1613,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 |