#8 Add routes for viewing a single user's shared posts

This commit is contained in:
2015-10-22 23:32:53 +08:00
parent 3066857aef
commit e4ed08029f
2 changed files with 8 additions and 2 deletions
+7 -2
View File
@@ -3,11 +3,11 @@ class Api::V1::PostsController < Api::V1::ApplicationController
before_action :permit_params, :map_post_type, :get_post, only: [:create]
before_action :load_post, only: [:add_viewed_times, :show]
skip_before_action :authenticate_user_from_token, only: [:show, :liked_posts]
skip_before_action :authenticate_user_from_token, only: [:posts, :show, :liked_posts, :bookmarked_posts]
before_action :fetch_current_user
before_action :load_target_user, only: [:liked_posts, :bookmarked_posts]
before_action :load_target_user, only: [:posts, :liked_posts, :bookmarked_posts]
after_action :process_post, only: :create
@@ -39,6 +39,11 @@ class Api::V1::PostsController < Api::V1::ApplicationController
render nothing: true
end
def posts
post_ids = @target_user.share_instances.order('created_at DESC').page(params[:page]).pluck(:sharable_id)
render json: Post.where(id: post_ids), each_serializer: EachPostSerializer
end
def liked_posts
ids = Like.where(user_id: @target_user.id).order('created_at DESC').pluck(:likable_id)
render json: Post.where(id: ids).page(params[:page]), each_serializer: EachPostSerializer
+1
View File
@@ -84,6 +84,7 @@ Rails.application.routes.draw do
resources :users, only:[:show] do
resources :follow, only: [:create]
post :unfollow, to: 'follow#destroy'
get '/posts', to: 'posts#posts'
get '/posts/liked', to: 'posts#liked_posts'
get '/posts/bookmarked', to: 'posts#bookmarked_posts'
end