diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-04-07 18:06:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-07 18:06:15 +0200 |
commit | 465ee7792ff48905088efdf3df6f718081b5e244 (patch) | |
tree | 509fe554be853d040199785a77b542c427a871b4 /app/controllers/api/v1 | |
parent | ebe01ea194104b14af6cd6abe6d20637f1a3e140 (diff) |
Fix pagination header on empty trends responses in REST API (#17986)
Diffstat (limited to 'app/controllers/api/v1')
-rw-r--r-- | app/controllers/api/v1/trends/links_controller.rb | 6 | ||||
-rw-r--r-- | app/controllers/api/v1/trends/statuses_controller.rb | 6 | ||||
-rw-r--r-- | app/controllers/api/v1/trends/tags_controller.rb | 6 |
3 files changed, 15 insertions, 3 deletions
diff --git a/app/controllers/api/v1/trends/links_controller.rb b/app/controllers/api/v1/trends/links_controller.rb index b1cde5a4b..2385fe438 100644 --- a/app/controllers/api/v1/trends/links_controller.rb +++ b/app/controllers/api/v1/trends/links_controller.rb @@ -36,13 +36,17 @@ class Api::V1::Trends::LinksController < Api::BaseController end 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 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) end + def records_continue? + @links.size == limit_param(DEFAULT_LINKS_LIMIT) + end + def offset_param params[:offset].to_i end diff --git a/app/controllers/api/v1/trends/statuses_controller.rb b/app/controllers/api/v1/trends/statuses_controller.rb index 4977803fb..1f2fff582 100644 --- a/app/controllers/api/v1/trends/statuses_controller.rb +++ b/app/controllers/api/v1/trends/statuses_controller.rb @@ -36,7 +36,7 @@ class Api::V1::Trends::StatusesController < Api::BaseController end 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 def prev_path @@ -46,4 +46,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController def offset_param params[:offset].to_i end + + def records_continue? + @statuses.size == limit_param(DEFAULT_STATUSES_LIMIT) + end end diff --git a/app/controllers/api/v1/trends/tags_controller.rb b/app/controllers/api/v1/trends/tags_controller.rb index 329ef5ae7..38003f599 100644 --- a/app/controllers/api/v1/trends/tags_controller.rb +++ b/app/controllers/api/v1/trends/tags_controller.rb @@ -32,7 +32,7 @@ class Api::V1::Trends::TagsController < Api::BaseController end 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 def prev_path @@ -42,4 +42,8 @@ class Api::V1::Trends::TagsController < Api::BaseController def offset_param params[:offset].to_i end + + def records_continue? + @tags.size == limit_param(DEFAULT_TAGS_LIMIT) + end end |