summaryrefslogtreecommitdiff
path: root/app/models/project_services/chat_slash_commands_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/project_services/chat_slash_commands_service.rb')
-rw-r--r--app/models/project_services/chat_slash_commands_service.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/app/models/project_services/chat_slash_commands_service.rb b/app/models/project_services/chat_slash_commands_service.rb
index 2bcff541cc0..608754f3035 100644
--- a/app/models/project_services/chat_slash_commands_service.rb
+++ b/app/models/project_services/chat_slash_commands_service.rb
@@ -28,20 +28,24 @@ class ChatSlashCommandsService < Service
end
def trigger(params)
- return unless valid_token?(params[:token])
+ return access_presenter unless valid_token?(params[:token])
user = find_chat_user(params)
- unless user
+
+ if user
+ Gitlab::ChatCommands::Command.new(project, user, params).execute
+ else
url = authorize_chat_name_url(params)
- return presenter.authorize_chat_name(url)
+ access_presenter(url).authorize
end
-
- Gitlab::ChatCommands::Command.new(project, user,
- params).execute
end
private
+ def access_presenter(url = nil)
+ Gitlab::ChatCommands::Presenters::Access.new(url)
+ end
+
def find_chat_user(params)
ChatNames::FindUserService.new(self, params).execute
end
@@ -49,8 +53,4 @@ class ChatSlashCommandsService < Service
def authorize_chat_name_url(params)
ChatNames::AuthorizeUserService.new(self, params).execute
end
-
- def presenter
- Gitlab::ChatCommands::Presenter.new
- end
end