commit: 089e2588a35415c911576bf5b7ae94540357705b
parent: 3c849d0438b9c8e2954c46455b8f37a3ee71c25c
Author: kaniini <nenolod@gmail.com>
Date: Thu, 28 Feb 2019 10:10:03 +0000
Merge branch 'speedup-follow-requests' into 'develop'
Speedup follow requests
Closes #677
See merge request pleroma/pleroma!871
Diffstat:
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
@@ -613,9 +613,10 @@ defmodule Pleroma.User do
),
where:
fragment(
- "? @> ?",
+ "coalesce((?)->'object'->>'id', (?)->>'object') = ?",
a.data,
- ^%{"object" => user.ap_id}
+ a.data,
+ ^user.ap_id
)
)
end
diff --git a/test/user_test.exs b/test/user_test.exs
@@ -50,6 +50,20 @@ defmodule Pleroma.UserTest do
assert expected_followers_collection == User.ap_followers(user)
end
+ test "returns all pending follow requests" do
+ unlocked = insert(:user)
+ locked = insert(:user, %{info: %{locked: true}})
+ follower = insert(:user)
+
+ Pleroma.Web.TwitterAPI.TwitterAPI.follow(follower, %{"user_id" => unlocked.id})
+ Pleroma.Web.TwitterAPI.TwitterAPI.follow(follower, %{"user_id" => locked.id})
+
+ assert {:ok, []} = User.get_follow_requests(unlocked)
+ assert {:ok, [activity]} = User.get_follow_requests(locked)
+
+ assert activity
+ end
+
test "follow_all follows mutliple users" do
user = insert(:user)
followed_zero = insert(:user)