Class: WorkItems::WorkItemsFinder

Inherits:
IssuesFinder show all
Includes:
Gitlab::Utils::StrongMemoize, TimeFrameFilter
Defined in:
app/finders/work_items/work_items_finder.rb

Constant Summary collapse

ROOT_TRAVERSAL_IDS_SORTING_OPTIONS =
%w[
  updated_asc updated_desc created_asc created_desc
].freeze

Constants inherited from IssuableFinder

IssuableFinder::FULL_TEXT_SEARCH_TERM_PATTERN, IssuableFinder::FULL_TEXT_SEARCH_TERM_REGEX, IssuableFinder::NEGATABLE_PARAMS_HELPER_KEYS

Instance Attribute Summary

Attributes inherited from IssuableFinder

#current_user, #original_params, #params

Attributes included from FinderWithCrossProjectAccess

#should_skip_cross_project_check

Instance Method Summary collapse

Methods included from TimeFrameFilter

#by_timeframe, #containing_date

Methods inherited from IssuesFinder

scalar_params

Methods included from Gitlab::Utils::Override

#extended, extensions, #included, #method_added, #override, #prepended, #queue_verification, verify!

Methods inherited from IssuableFinder

array_params, #count_by_state, #execute, #filter_negated_items, #initialize, negatable_array_params, negatable_params, negatable_scalar_params, #parent_param, #parent_param=, #row_count, scalar_params, #search, #should_filter_negated_args?, valid_params

Methods included from UpdatedAtFilter

#by_updated_at

Methods included from CreatedAtFilter

#by_created_at

Methods included from FinderMethods

#find, #find_by, #find_by!

Methods included from FinderWithCrossProjectAccess

#can_read_cross_project?, #can_read_project?, #execute, #find, #find_by, #find_by!, #skip_cross_project_check

Constructor Details

This class inherits a constructor from IssuableFinder

Instance Method Details

#klassObject



23
24
25
# File 'app/finders/work_items/work_items_finder.rb', line 23

def klass
  WorkItem
end

#params_classObject



27
28
29
# File 'app/finders/work_items/work_items_finder.rb', line 27

def params_class
  ::IssuesFinder::Params
end

#use_cte_for_search?Boolean

Returns:

  • (Boolean)


31
32
33
34
# File 'app/finders/work_items/work_items_finder.rb', line 31

def use_cte_for_search?
  # It's more performant to directly filter on the `issues` table without a CTE
  use_namespace_traversal_ids_filtering? ? false : super
end