X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;ds=inline;f=lib%2Fpleroma%2Fweb%2Factivity_pub%2Factivity_pub.ex;h=5937ec88cf6e69189f1e8e22ea242b92ad2444f1;hb=a9b2ad17596d1b6deca646239a95e94dc644ebf3;hp=e9f0dcd3290bfb213c596c1cca2f4400610d2ace;hpb=1c00eb4a90cddb7518a823d9304f6aee4fd3ef78;p=akkoma diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index e9f0dcd32..5937ec88c 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -174,6 +174,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do Repo.all(query) end + def fetch_latest_follow(%User{ap_id: follower_id}, + %User{ap_id: followed_id}) do + query = from activity in Activity, + where: fragment("? @> ?", activity.data, ^%{type: "Follow", actor: follower_id, + object: followed_id}), + order_by: [desc: :inserted_at], + limit: 1 + Repo.one(query) + end + def upload(file) do data = Upload.store(file) Repo.insert(%Object{data: data})