Fix pagination header on empty trends responses in REST API (#17986)
This commit is contained in:
parent
ebe01ea194
commit
465ee7792f
4 changed files with 16 additions and 4 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue