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 'app/services/groups/autocomplete_service.rb')
-rw-r--r--app/services/groups/autocomplete_service.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/app/services/groups/autocomplete_service.rb b/app/services/groups/autocomplete_service.rb
new file mode 100644
index 00000000000..92b05d9ac08
--- /dev/null
+++ b/app/services/groups/autocomplete_service.rb
@@ -0,0 +1,49 @@
+# frozen_string_literal: true
+
+module Groups
+ class AutocompleteService < Groups::BaseService
+ include LabelsAsHash
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def issues(confidential_only: false, issue_types: nil)
+ finder_params = { group_id: group.id, include_subgroups: true, state: 'opened' }
+ finder_params[:confidential] = true if confidential_only.present?
+ finder_params[:issue_types] = issue_types if issue_types.present?
+
+ IssuesFinder.new(current_user, finder_params)
+ .execute
+ .preload(project: :namespace)
+ .select(:iid, :title, :project_id)
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def merge_requests
+ MergeRequestsFinder.new(current_user, group_id: group.id, include_subgroups: true, state: 'opened')
+ .execute
+ .preload(target_project: :namespace)
+ .select(:iid, :title, :target_project_id)
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def milestones
+ group_ids = group.self_and_ancestors.public_or_visible_to_user(current_user).pluck(:id)
+
+ MilestonesFinder.new(group_ids: group_ids).execute.select(:iid, :title, :due_date)
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ def labels_as_hash(target)
+ super(target, group_id: group.id, only_group_labels: true, include_ancestor_groups: true)
+ end
+
+ def commands(noteable)
+ return [] unless noteable
+
+ QuickActions::InterpretService.new(nil, current_user).available_commands(noteable)
+ end
+ end
+end
+
+Groups::AutocompleteService.prepend_mod