diff options
author | Mark Felder <feld@feld.me> | 2021-02-19 15:16:55 -0600 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-03-30 11:10:44 -0500 |
commit | 1926d0804ba6ade106a509c027af6bf56e6a8791 (patch) | |
tree | 4784a629e463cae5fa569d1e406088cb99c85458 | |
parent | f0dcc1ca692fb5d6a5aca4f8a9ccb255baef9c1d (diff) | |
download | pleroma-1926d0804ba6ade106a509c027af6bf56e6a8791.tar.gz |
Add follow_requests_outstanding_since?/3 to Pleroma.Activity
-rw-r--r-- | lib/pleroma/activity.ex | 14 |
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) |