BigW Consortium Gitlab

Commit c31d777c by Rémy Coutable

Revert changes to how the notes are paginated in the API

parent 3183092c
...@@ -22,11 +22,17 @@ module API ...@@ -22,11 +22,17 @@ module API
@noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"]) @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"])
# We exclude notes that are cross-references and that cannot be viewed # We exclude notes that are cross-references and that cannot be viewed
# by the current user. # by the current user. By doing this exclusion at this level and not
# at the DB query level (which we cannot in that case), the current
# page can have less elements than :per_page even if
# there's more than one page.
notes = notes =
@noteable.notes. # paginate() only works with a relation. This could lead to a
# mismatch between the pagination headers info and the actual notes
# array returned, but this is really a edge-case.
paginate(@noteable.notes).
reject { |n| n.cross_reference_not_visible_for?(current_user) } reject { |n| n.cross_reference_not_visible_for?(current_user) }
present paginate(Kaminari.paginate_array(notes)), with: Entities::Note present notes, with: Entities::Note
end end
# Get a single +noteable+ note # Get a single +noteable+ note
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment