Browse Source

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
1570-levenshtein-distance-user-search
lain 4 years ago
parent
commit
c450b248cc
3 changed files with 19 additions and 0 deletions
  1. +6
    -0
      lib/pleroma/following_relationship.ex
  2. +8
    -0
      lib/pleroma/user.ex
  3. +5
    -0
      test/user_test.exs

+ 6
- 0
lib/pleroma/following_relationship.ex View File

@@ -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)


+ 8
- 0
lib/pleroma/user.ex View File

@@ -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


+ 5
- 0
test/user_test.exs View File

@@ -1159,6 +1159,9 @@ defmodule Pleroma.UserTest do
follower = insert(:user)
{:ok, follower} = User.follow(follower, user)

locked_user = insert(:user, name: "locked", locked: true)
{:ok, _} = User.follow(user, locked_user, :follow_pending)

object = insert(:note, user: user)
activity = insert(:note_activity, user: user, note: object)

@@ -1177,6 +1180,8 @@ defmodule Pleroma.UserTest do
refute User.following?(follower, user)
assert %{deactivated: true} = User.get_by_id(user.id)

assert [] == User.get_follow_requests(locked_user)

user_activities =
user.ap_id
|> Activity.Queries.by_actor()


Loading…
Cancel
Save