gitlab-org--gitlab-foss/app/finders
Jan Provaznik 1f4ee653fa Allow to include also descendant group labels
Because epic index page includes also epics from subgroups
it's necessary to also get descendant group labels for filtering.
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/4773#note_61236542
2018-03-02 11:44:18 +01:00
..
admin
concerns Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
access_requests_finder.rb
autocomplete_users_finder.rb Added changelog for user search improvements 2018-02-22 18:55:36 +01:00
branches_finder.rb
clusters_finder.rb
contributed_projects_finder.rb
environments_finder.rb
events_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
fork_projects_finder.rb
group_descendants_finder.rb Preload ancestors for subgroups matching filter 2018-01-22 17:02:04 +01:00
group_finder.rb
group_members_finder.rb
group_projects_finder.rb Include subgroup issuables on the group page 2018-02-01 07:04:37 +01:00
groups_finder.rb
issuable_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
issues_finder.rb Refactor IssuableFinder to extract model-specific logic 2018-02-21 10:31:29 +00:00
joined_groups_finder.rb
labels_finder.rb Allow to include also descendant group labels 2018-03-02 11:44:18 +01:00
members_finder.rb More readable SQL query. 2018-02-21 13:54:35 +01:00
merge_request_target_project_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
merge_requests_finder.rb Add source and target branch filters to merge requests API 2018-03-01 10:41:02 +00:00
milestones_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
move_to_project_finder.rb
notes_finder.rb Always eagerly load a note's author. 2018-02-13 18:04:52 +01:00
personal_access_tokens_finder.rb
personal_projects_finder.rb
pipeline_schedules_finder.rb
pipelines_finder.rb
projects_finder.rb
README.md
runner_jobs_finder.rb
snippets_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
tags_finder.rb
todos_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
union_finder.rb
user_recent_events_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
users_finder.rb

Finders

This type of classes responsible for collection items based on different conditions. To prevent lookup methods in models like this:

class Project
  def issues_for_user_filtered_by(user, filter)
    # A lot of logic not related to project model itself
  end
end

issues = project.issues_for_user_filtered_by(user, params)

Better use this:

issues = IssuesFinder.new(project, user, filter).execute

It will help keep models thiner.