diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-07 13:25:26 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-07 13:25:26 +0100 |
commit | fe57f6330f089d023f0fa4db7f7c8a51551d2ee9 (patch) | |
tree | 876f5ce296897d08baa98fe57007108bc97d79dc | |
parent | f099bc6091b55c598a55f252041cb3af6043caf4 (diff) |
API methods for retrieving home and mentions timelines
-rw-r--r-- | app/controllers/api/accounts_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/api/statuses_controller.rb | 8 | ||||
-rw-r--r-- | app/views/api/statuses/home.rabl | 2 | ||||
-rw-r--r-- | app/views/api/statuses/mentions.rabl | 2 | ||||
-rw-r--r-- | config/routes.rb | 5 |
5 files changed, 18 insertions, 1 deletions
diff --git a/app/controllers/api/accounts_controller.rb b/app/controllers/api/accounts_controller.rb index 927fd86b70d..fc4c9d6812a 100644 --- 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 index b1633ab6cc2..82334a32f2e 100644 --- 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 new file mode 100644 index 00000000000..12f00dd21d4 --- /dev/null +++ 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 new file mode 100644 index 00000000000..12f00dd21d4 --- /dev/null +++ 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 index 98d892fd50d..d63bdf98120 100644 --- 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 |