Fix pagination header on empty trends responses in REST API (#17986)

This commit is contained in:
Eugen Rochko 2022-04-07 18:06:15 +02:00 committed by GitHub
parent ebe01ea194
commit 465ee7792f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 4 deletions

View File

@ -36,13 +36,17 @@ class Api::V1::Trends::LinksController < Api::BaseController
end end
def next_path def next_path
api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) if records_continue?
end end
def prev_path def prev_path
api_v1_trends_links_url pagination_params(offset: offset_param - limit_param(DEFAULT_LINKS_LIMIT)) if offset_param > limit_param(DEFAULT_LINKS_LIMIT) api_v1_trends_links_url pagination_params(offset: offset_param - limit_param(DEFAULT_LINKS_LIMIT)) if offset_param > limit_param(DEFAULT_LINKS_LIMIT)
end end
def records_continue?
@links.size == limit_param(DEFAULT_LINKS_LIMIT)
end
def offset_param def offset_param
params[:offset].to_i params[:offset].to_i
end end

View File

@ -36,7 +36,7 @@ class Api::V1::Trends::StatusesController < Api::BaseController
end end
def next_path def next_path
api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) if records_continue?
end end
def prev_path def prev_path
@ -46,4 +46,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController
def offset_param def offset_param
params[:offset].to_i params[:offset].to_i
end end
def records_continue?
@statuses.size == limit_param(DEFAULT_STATUSES_LIMIT)
end
end end

View File

@ -32,7 +32,7 @@ class Api::V1::Trends::TagsController < Api::BaseController
end end
def next_path def next_path
api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) if records_continue?
end end
def prev_path def prev_path
@ -42,4 +42,8 @@ class Api::V1::Trends::TagsController < Api::BaseController
def offset_param def offset_param
params[:offset].to_i params[:offset].to_i
end end
def records_continue?
@tags.size == limit_param(DEFAULT_TAGS_LIMIT)
end
end end

View File

@ -59,7 +59,7 @@ class Trends::Query
@records @records
end end
delegate :each, :empty?, :first, :last, to: :records delegate :each, :empty?, :first, :last, :size, to: :records
def to_ary def to_ary
records.dup records.dup