Cache follow state
[akkoma] / lib / pleroma / web / mastodon_api / views / account_view.ex
index 72c092f252e6e8c604b7eb3db956bd856f929a3f..0ef568f0f334a79324f89fcce09c0588fadacc88 100644 (file)
@@ -37,11 +37,11 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
   end
 
   def render("relationship.json", %{user: %User{} = user, target: %User{} = target}) do
-    follow_activity = Pleroma.Web.ActivityPub.Utils.fetch_latest_follow(user, target)
+    follow_state = User.get_cached_follow_state(user, target)
 
     requested =
-      if follow_activity && !User.following?(target, user) do
-        follow_activity.data["state"] == "pending"
+      if follow_state && !User.following?(user, target) do
+        follow_state == "pending"
       else
         false
       end