mirror of
https://github.com/wahyd4/libr-2.git
synced 2026-08-09 05:15:53 +10:00
32 lines
1.2 KiB
Ruby
32 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.keys.reverse
|
|
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.keys.reverse
|
|
paginated_ids = Kaminari.paginate_array(user_ids).page(params[:page]).per(25)
|
|
|
|
records = User.find(paginated_ids).group_by(&:id)
|
|
sorted_records = paginated_ids.map { |id| records[id].first }
|
|
|
|
render json: sorted_records, 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
|