diff options
author | Peter Leitzen <pl@neopoly.de> | 2018-07-28 23:42:06 +0200 |
---|---|---|
committer | Peter Leitzen <pl@neopoly.de> | 2018-08-10 16:45:11 +0200 |
commit | 9b95fe78ae39aa2c0f9c3dc49b897097fc3fef5e (patch) | |
tree | a06e64b4da02a29644d44dff6db2c2c0e485197d | |
parent | 19f97d2a0fe16b905f95dc17480fdbbfba4654d7 (diff) | |
download | gitlab-ce-9b95fe78ae39aa2c0f9c3dc49b897097fc3fef5e.tar.gz |
Move finding autocompletion targets into AutocompleteService
-rw-r--r-- | app/controllers/projects/autocomplete_sources_controller.rb | 11 | ||||
-rw-r--r-- | app/services/projects/autocomplete_service.rb | 11 |
2 files changed, 13 insertions, 9 deletions
diff --git a/app/controllers/projects/autocomplete_sources_controller.rb b/app/controllers/projects/autocomplete_sources_controller.rb index eaaac5ca940..6e3edb31b99 100644 --- a/app/controllers/projects/autocomplete_sources_controller.rb +++ b/app/controllers/projects/autocomplete_sources_controller.rb @@ -1,5 +1,5 @@ class Projects::AutocompleteSourcesController < Projects::ApplicationController - before_action :load_autocomplete_service, except: [:members] + before_action :load_autocomplete_service def members render json: ::Projects::ParticipantsService.new(@project, current_user).execute(target) @@ -32,13 +32,6 @@ class Projects::AutocompleteSourcesController < Projects::ApplicationController end def target - case params[:type]&.downcase - when 'issue' - IssuesFinder.new(current_user, project_id: @project.id).find_by(iid: params[:type_id]) || @project.issues.build - when 'mergerequest' - MergeRequestsFinder.new(current_user, project_id: @project.id).find_by(iid: params[:type_id]) || @project.merge_requests.build - when 'commit' - @project.commit(params[:type_id]) - end + @autocomplete_service.target(params[:type], params[:type_id]) end end diff --git a/app/services/projects/autocomplete_service.rb b/app/services/projects/autocomplete_service.rb index 5286b92ab6b..d116ad11294 100644 --- a/app/services/projects/autocomplete_service.rb +++ b/app/services/projects/autocomplete_service.rb @@ -51,5 +51,16 @@ module Projects QuickActions::InterpretService.new(project, current_user).available_commands(noteable) end + + def target(type, type_id) + case type&.downcase + when 'issue' + IssuesFinder.new(current_user, project_id: project.id).find_by(iid: type_id) || project.issues.build + when 'mergerequest' + MergeRequestsFinder.new(current_user, project_id: project.id).find_by(iid: type_id) || project.merge_requests.build + when 'commit' + project.commit(type_id) + end + end end end |