diff options
-rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index 831e13b7e..cb2e1e078 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -240,11 +240,16 @@ defmodule Pleroma.Web.ActivityPub.Utils do activity in Activity, where: fragment( + "? ->> 'type' = 'Follow'", + activity.data + ), + where: activity.actor == ^follower_id, + where: + fragment( "? @> ?", activity.data, - ^%{type: "Follow", object: followed_id} + ^%{object: followed_id} ), - where: activity.actor == ^follower_id, order_by: [desc: :id], limit: 1 ) @@ -365,11 +370,16 @@ defmodule Pleroma.Web.ActivityPub.Utils do activity in Activity, where: fragment( + "? ->> 'type' = 'Block'", + activity.data + ), + where: activity.actor == ^blocker_id, + where: + fragment( "? @> ?", activity.data, - ^%{type: "Block", object: blocked_id} + ^%{object: blocked_id} ), - where: activity.actor == ^blocker_id, order_by: [desc: :id], limit: 1 ) |