Files
libr-2/app/controllers/api/v1/em_sources_controller.rb
2015-12-16 22:45:58 +08:00

29 lines
1.2 KiB
Ruby

class Api::V1::EmSourcesController < ApplicationController
skip_before_action :authenticate_user_from_token
def hottest_users
user_ids = FollowRelation.group(:star_id).count.sort_by{|k,v|-v}.to_h.keys
paginated_ids = Kaminari.paginate_array(user_ids).page(params[:page]).per(25)
render json: User.find(paginated_ids).index_by(&:id).slice(*paginated_ids).values, each_serializer: EMUserSerializer
end
def activest_users
user_ids = ShareInstance.group(:user_id).count.sort_by{|k,v|-v}.to_h.keys
paginated_ids = Kaminari.paginate_array(user_ids).page(params[:page]).per(25)
render json: User.find(paginated_ids).index_by(&:id).slice(*paginated_ids).values, each_serializer: EMUserSerializer
end
def hottest_posts_in_month
posts = Post.where(type: 'Article', created_at: ((Time.now.midnight - 1.month)..Time.now.midnight)).order('viewed_times DESC')
render json: posts.page(params[:page]), each_serializer: EMPostSerializer
end
def most_loved_posts_in_month
posts = Post.where(type: 'Article', created_at: ((Time.now.midnight - 1.month)..Time.now.midnight)).order('likes_count DESC')
render json: posts.page(params[:page]), each_serializer: EMPostSerializer
end
end