diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 7b867f8efd..c1a5e43f88 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -4,8 +4,6 @@ class Api::BaseController < ApplicationController DEFAULT_STATUSES_LIMIT = 20 DEFAULT_ACCOUNTS_LIMIT = 40 - PAGINATION_PARAMS = %i(limit).freeze - include Api::RateLimitHeaders include Api::AccessTokenTrackingConcern include Api::CachingConcern @@ -38,13 +36,6 @@ class Api::BaseController < ApplicationController [params[:limit].to_i.abs, default_limit * 2].min end - def pagination_params(core_params) - params - .slice(*PAGINATION_PARAMS) - .permit(*PAGINATION_PARAMS) - .merge(core_params) - end - def params_slice(*keys) params.slice(*keys).permit(*keys) end diff --git a/app/controllers/concerns/api/pagination.rb b/app/controllers/concerns/api/pagination.rb index d84a1d99f7..7f06dc0202 100644 --- a/app/controllers/concerns/api/pagination.rb +++ b/app/controllers/concerns/api/pagination.rb @@ -3,6 +3,8 @@ module Api::Pagination extend ActiveSupport::Concern + PAGINATION_PARAMS = %i(limit).freeze + protected def pagination_max_id @@ -24,6 +26,13 @@ module Api::Pagination render json: { error: 'Pagination values for `offset` and `limit` must be positive' }, status: 400 if pagination_options_invalid? end + def pagination_params(core_params) + params + .slice(*PAGINATION_PARAMS) + .permit(*PAGINATION_PARAMS) + .merge(core_params) + end + private def insert_pagination_headers