commit: fe57f6330f089d023f0fa4db7f7c8a51551d2ee9
parent: f099bc6091b55c598a55f252041cb3af6043caf4
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Mon, 7 Mar 2016 13:25:26 +0100
API methods for retrieving home and mentions timelines
Diffstat:
5 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/app/controllers/api/accounts_controller.rb b/app/controllers/api/accounts_controller.rb
@@ -15,7 +15,7 @@ class Api::AccountsController < ApiController
end
def statuses
- @statuses = @account.statuses
+ @statuses = @account.statuses.order('created_at desc')
end
def follow
diff --git a/app/controllers/api/statuses_controller.rb b/app/controllers/api/statuses_controller.rb
@@ -20,4 +20,12 @@ class Api::StatusesController < ApiController
@status = FavouriteService.new.(current_user.account, Status.find(params[:id])).status
render action: :show
end
+
+ def home
+ @statuses = Status.where(account: [current_user.account] + current_user.account.following).order('created_at desc')
+ end
+
+ def mentions
+ @statuses = Status.where(id: Mention.where(account: current_user.account).pluck(:status_id)).order('created_at desc')
+ end
end
diff --git a/app/views/api/statuses/home.rabl b/app/views/api/statuses/home.rabl
@@ -0,0 +1,2 @@
+collection @statuses
+extends('api/statuses/show')
diff --git a/app/views/api/statuses/mentions.rabl b/app/views/api/statuses/mentions.rabl
@@ -0,0 +1,2 @@
+collection @statuses
+extends('api/statuses/show')
diff --git a/config/routes.rb b/config/routes.rb
@@ -24,6 +24,11 @@ Rails.application.routes.draw do
# JSON / REST API
resources :statuses, only: [:create, :show] do
+ collection do
+ get :home
+ get :mentions
+ end
+
member do
post :reblog
post :favourite