summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2021-02-19 15:16:55 -0600
committerMark Felder <feld@feld.me>2021-03-30 11:10:44 -0500
commit1926d0804ba6ade106a509c027af6bf56e6a8791 (patch)
tree4784a629e463cae5fa569d1e406088cb99c85458
parentf0dcc1ca692fb5d6a5aca4f8a9ccb255baef9c1d (diff)
Add follow_requests_outstanding_since?/3 to Pleroma.Activity
-rw-r--r--lib/pleroma/activity.ex14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex
index d59403884..b0f1a900d 100644
--- a/lib/pleroma/activity.ex
+++ b/lib/pleroma/activity.ex
@@ -345,6 +345,20 @@ defmodule Pleroma.Activity do
|> Repo.all()
end
+ def follow_requests_outstanding_since?(
+ %User{ap_id: follower_id},
+ %User{ap_id: followee_id},
+ since_datetime
+ ) do
+ followee_id
+ |> Queries.by_object_id()
+ |> Queries.by_type("Follow")
+ |> where([a], a.inserted_at > ^since_datetime)
+ |> where([a], fragment("? ->> 'state' != 'accept'", a.data))
+ |> where([a], a.actor == ^follower_id)
+ |> Repo.exists?()
+ end
+
def restrict_deactivated_users(query) do
deactivated_users =
from(u in User.Query.build(%{deactivated: true}), select: u.ap_id)