Add user timeline
authordtluna <dtluna@openmailbox.org>
Mon, 10 Apr 2017 17:08:14 +0000 (20:08 +0300)
committerdtluna <dtluna@openmailbox.org>
Mon, 10 Apr 2017 17:08:14 +0000 (20:08 +0300)
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/twitter_api_controller.ex

index 52030d684ac16d093977094286974f7bcd94dde8..8e6a2b012ff02c73a6da8721879bc37f69d9bbf5 100644 (file)
@@ -33,6 +33,7 @@ defmodule Pleroma.Web.Router do
     post "/account/verify_credentials", TwitterAPI.Controller, :verify_credentials
     post "/statuses/update", TwitterAPI.Controller, :status_update
     get "/statuses/friends_timeline", TwitterAPI.Controller, :friends_timeline
+    get "/statuses/user_timeline", TwitterAPI.Controller, :user_timeline
     post "/friendships/create", TwitterAPI.Controller, :follow
     post "/friendships/destroy", TwitterAPI.Controller, :unfollow
     post "/statusnet/media/upload", TwitterAPI.Controller, :upload
index f2c893e96d3c5c08ef886471de614eb0a0de32c9..741689ebfeff484d1f1bda79d3f9c1b5cdbd96ef 100644 (file)
@@ -43,6 +43,26 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
     |> json_reply(200, json)
   end
 
+  def user_timeline(conn, %{ "user_id" => user_id } = params) do
+    user = Repo.get(User, user_id)
+    conn = Map.merge(conn, %{assigns: %{user: user}})
+    params = Map.delete(params, "user_id")
+
+    friends_timeline(conn, params)
+  end
+
+  def user_timeline(conn, %{ "screen_name" => nickname} = params) do
+    user = Repo.get_by!(User, nickname: nickname)
+    conn = Map.merge(conn, %{assigns: %{user: user}})
+    params = Map.delete(params, "screen_name")
+
+    friends_timeline(conn, params)
+  end
+
+  def user_timeline(conn, params) do
+    friends_timeline(conn, params)
+  end
+
   def follow(%{assigns: %{user: user}} = conn, %{ "user_id" => followed_id }) do
     { :ok, _user, follower, _activity } = TwitterAPI.follow(user, followed_id)