Merge branch 'formatting-fixes' into 'develop'
[akkoma] / lib / pleroma / web / twitter_api / twitter_api_controller.ex
index 125eb8a1e9393f22dff4547ceef6faa96a671a09..e319cfb8cc29ffe59ccbb8b676159fa49d69769a 100644 (file)
@@ -65,6 +65,19 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
     |> json_reply(200, json)
   end
 
+  def show_user(conn, params) do
+    with {:ok, shown} <- TwitterAPI.get_user(params) do
+      if user = conn.assigns.user do
+        render conn, UserView, "show.json", %{user: shown, for: user}
+      else
+        render conn, UserView, "show.json", %{user: shown}
+      end
+    else
+      {:error, msg} ->
+        bad_request_reply(conn, msg)
+    end
+  end
+
   def user_timeline(%{assigns: %{user: user}} = conn, params) do
     case TwitterAPI.get_user(user, params) do
       {:ok, target_user} ->
@@ -265,6 +278,22 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
     end
   end
 
+  def friends_ids(%{assigns: %{user: user}} = conn, _params) do
+    with {:ok, friends} <- User.get_friends(user) do
+      ids = friends
+      |> Enum.map(fn x -> x.id end)
+      |> Poison.encode!
+
+      json(conn, ids)
+    else
+      _e -> bad_request_reply(conn, "Can't get friends")
+    end
+  end
+
+  def empty_array(conn, _params) do
+    json(conn, Poison.encode!([]))
+  end
+
   def update_profile(%{assigns: %{user: user}} = conn, params) do
     params = if bio = params["description"] do
       Map.put(params, "bio", bio)