Преглед на файлове

Support min_id-based pagination for bookmarks (#12381)

* Support min_id-based pagination for bookmarks

* Fix spec
master^2
Gomasy преди 4 години
committed by Eugen Rochko
родител
ревизия
5a2c0707f1
променени са 2 файла, в които са добавени 4 реда и са изтрити 5 реда
  1. +3
    -4
      app/controllers/api/v1/bookmarks_controller.rb
  2. +1
    -1
      spec/controllers/api/v1/bookmarks_controller_spec.rb

+ 3
- 4
app/controllers/api/v1/bookmarks_controller.rb Целия файл

@@ -26,10 +26,9 @@ class Api::V1::BookmarksController < Api::BaseController
end end


def results def results
@_results ||= account_bookmarks.paginate_by_max_id(
@_results ||= account_bookmarks.paginate_by_id(
limit_param(DEFAULT_STATUSES_LIMIT), limit_param(DEFAULT_STATUSES_LIMIT),
params[:max_id],
params[:since_id]
params_slice(:max_id, :since_id, :min_id)
) )
end end


@@ -46,7 +45,7 @@ class Api::V1::BookmarksController < Api::BaseController
end end


def prev_path def prev_path
api_v1_bookmarks_url pagination_params(since_id: pagination_since_id) unless results.empty?
api_v1_bookmarks_url pagination_params(min_id: pagination_since_id) unless results.empty?
end end


def pagination_max_id def pagination_max_id


+ 1
- 1
spec/controllers/api/v1/bookmarks_controller_spec.rb Целия файл

@@ -64,7 +64,7 @@ RSpec.describe Api::V1::BookmarksController, type: :controller do
get :index, params: { limit: 1 } get :index, params: { limit: 1 }


expect(response.headers['Link'].find_link(['rel', 'next']).href).to eq "http://test.host/api/v1/bookmarks?limit=1&max_id=#{bookmark.id}" expect(response.headers['Link'].find_link(['rel', 'next']).href).to eq "http://test.host/api/v1/bookmarks?limit=1&max_id=#{bookmark.id}"
expect(response.headers['Link'].find_link(['rel', 'prev']).href).to eq "http://test.host/api/v1/bookmarks?limit=1&since_id=#{bookmark.id}"
expect(response.headers['Link'].find_link(['rel', 'prev']).href).to eq "http://test.host/api/v1/bookmarks?limit=1&min_id=#{bookmark.id}"
end end


it 'does not add pagination headers if not necessary' do it 'does not add pagination headers if not necessary' do


Зареждане…
Отказ
Запис