TwitterAPI: fix "Follows you" being shown for the wrong user.
authoreal <eal@waifu.club>
Thu, 31 May 2018 12:27:42 +0000 (15:27 +0300)
committereal <eal@waifu.club>
Thu, 31 May 2018 12:27:42 +0000 (15:27 +0300)
lib/pleroma/web/twitter_api/twitter_api_controller.ex
test/web/twitter_api/twitter_api_controller_test.exs

index c2b0bb01da855f48f92512bde5385bbbd25f983a..320f2fcf4e37ebe2564fde82fee8997f7ab09611 100644 (file)
@@ -309,18 +309,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
   end
 
   def followers(conn, params) do
-    with {:ok, user} <- TwitterAPI.get_user(conn.assigns.user, params),
+    with {:ok, user} <- TwitterAPI.get_user(conn.assigns[:user], params),
          {:ok, followers} <- User.get_followers(user) do
-      render(conn, UserView, "index.json", %{users: followers, for: user})
+      render(conn, UserView, "index.json", %{users: followers, for: conn.assigns[:user]})
     else
       _e -> bad_request_reply(conn, "Can't get followers")
     end
   end
 
   def friends(conn, params) do
-    with {:ok, user} <- TwitterAPI.get_user(conn.assigns.user, params),
+    with {:ok, user} <- TwitterAPI.get_user(conn.assigns[:user], params),
          {:ok, friends} <- User.get_friends(user) do
-      render(conn, UserView, "index.json", %{users: friends, for: user})
+      render(conn, UserView, "index.json", %{users: friends, for: conn.assigns[:user]})
     else
       _e -> bad_request_reply(conn, "Can't get friends")
     end
index c2ea41aa3bb7f3ff905e891031a3b4897410bae1..03e5824a9872a89daaa87403befb79f8815b5226 100644 (file)
@@ -668,6 +668,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
 
       conn =
         conn
+        |> assign(:user, user)
         |> get("/api/statuses/friends", %{"user_id" => user.id})
 
       assert MapSet.equal?(
@@ -689,6 +690,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
 
       conn =
         conn
+        |> assign(:user, user)
         |> get("/api/statuses/friends", %{"screen_name" => user.nickname})
 
       assert MapSet.equal?(