diff options
Diffstat (limited to 'app/graphql/resolvers/concerns/issues/sort_arguments.rb')
-rw-r--r-- | app/graphql/resolvers/concerns/issues/sort_arguments.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/graphql/resolvers/concerns/issues/sort_arguments.rb b/app/graphql/resolvers/concerns/issues/sort_arguments.rb new file mode 100644 index 00000000000..70ae6bd8a5b --- /dev/null +++ b/app/graphql/resolvers/concerns/issues/sort_arguments.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Issues + module SortArguments + extend ActiveSupport::Concern + + NON_STABLE_CURSOR_SORTS = %i[priority_asc priority_desc + popularity_asc popularity_desc + label_priority_asc label_priority_desc + milestone_due_asc milestone_due_desc + escalation_status_asc escalation_status_desc].freeze + + included do + argument :sort, Types::IssueSortEnum, + description: 'Sort issues by this criteria.', + required: false, + default_value: :created_desc + end + + private + + def non_stable_cursor_sort?(sort) + NON_STABLE_CURSOR_SORTS.include?(sort) + end + end +end |