diff options
author | Starfall <us@starfall.systems> | 2022-03-30 12:33:18 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2022-03-30 12:33:18 -0500 |
commit | f7491de676298b8f78084c00f0026f8cf36d92fc (patch) | |
tree | 0ac29d1598efeb2a0de9bd1b54ae7590e88479da /app/controllers/api/v1/trends/statuses_controller.rb | |
parent | f37056e6c351a08d09c3986586cc7d27bdea85ab (diff) | |
parent | 363773d0e9ffa9f4efc564603327f225193a2bf1 (diff) |
Update to Mastodon 2.5.0
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'app/controllers/api/v1/trends/statuses_controller.rb')
-rw-r--r-- | app/controllers/api/v1/trends/statuses_controller.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/app/controllers/api/v1/trends/statuses_controller.rb b/app/controllers/api/v1/trends/statuses_controller.rb index d4ec97ae5..4977803fb 100644 --- a/app/controllers/api/v1/trends/statuses_controller.rb +++ b/app/controllers/api/v1/trends/statuses_controller.rb @@ -3,6 +3,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController before_action :set_statuses + after_action :insert_pagination_headers + def index render json: @statuses, each_serializer: REST::StatusSerializer end @@ -22,6 +24,26 @@ class Api::V1::Trends::StatusesController < Api::BaseController def statuses_from_trends scope = Trends.statuses.query.allowed.in_locale(content_locale) scope = scope.filtered_for(current_account) if user_signed_in? - scope.limit(limit_param(DEFAULT_STATUSES_LIMIT)) + scope.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def prev_path + api_v1_trends_statuses_url pagination_params(offset: offset_param - limit_param(DEFAULT_STATUSES_LIMIT)) if offset_param > limit_param(DEFAULT_STATUSES_LIMIT) + end + + def offset_param + params[:offset].to_i end end |