Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/pagination/keyset/cursor_based_request_context.rb')
-rw-r--r--lib/gitlab/pagination/keyset/cursor_based_request_context.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/gitlab/pagination/keyset/cursor_based_request_context.rb b/lib/gitlab/pagination/keyset/cursor_based_request_context.rb
index d9c118ceef5..18390f5b59d 100644
--- a/lib/gitlab/pagination/keyset/cursor_based_request_context.rb
+++ b/lib/gitlab/pagination/keyset/cursor_based_request_context.rb
@@ -4,11 +4,12 @@ module Gitlab
module Pagination
module Keyset
class CursorBasedRequestContext
- attr_reader :request
- delegate :params, :header, to: :request
+ DEFAULT_SORT_DIRECTION = :desc
+ attr_reader :request_context
+ delegate :params, to: :request_context
- def initialize(request)
- @request = request
+ def initialize(request_context)
+ @request_context = request_context
end
def per_page
@@ -21,9 +22,13 @@ module Gitlab
def apply_headers(cursor_for_next_page)
Gitlab::Pagination::Keyset::HeaderBuilder
- .new(self)
+ .new(request_context)
.add_next_page_header({ cursor: cursor_for_next_page })
end
+
+ def order_by
+ { params[:order_by].to_sym => params[:sort]&.to_sym || DEFAULT_SORT_DIRECTION }
+ end
end
end
end