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:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-11-13 22:35:47 +0300
committerKamil Trzcinski <ayufan@ayufan.eu>2016-11-16 15:42:35 +0300
commitc60437786bfe43344b4a5eb040437f73f37c6396 (patch)
treefe90ee0dd9e556369e7f53ce4a03e2751b486682 /app/services/chat_names
parentc5169b5d447ab6c73bbe542c071a4054c5969165 (diff)
Create relation between chat user and GitLab user and allow to authorize them [ci skip]
Diffstat (limited to 'app/services/chat_names')
-rw-r--r--app/services/chat_names/find_user_service.rb15
-rw-r--r--app/services/chat_names/request_service.rb32
2 files changed, 47 insertions, 0 deletions
diff --git a/app/services/chat_names/find_user_service.rb b/app/services/chat_names/find_user_service.rb
new file mode 100644
index 00000000000..6b7f75430a8
--- /dev/null
+++ b/app/services/chat_names/find_user_service.rb
@@ -0,0 +1,15 @@
+module ChatNames
+ class FindUserService
+ def initialize(chat_names, params)
+ @chat_names = chat_names
+ @params = params
+ end
+
+ def execute
+ @chat_names.find_by(
+ team_id: @params[:team_id],
+ chat_id: @params[:user_id]
+ )
+ end
+ end
+end
diff --git a/app/services/chat_names/request_service.rb b/app/services/chat_names/request_service.rb
new file mode 100644
index 00000000000..c67b93f932f
--- /dev/null
+++ b/app/services/chat_names/request_service.rb
@@ -0,0 +1,32 @@
+module ChatNames
+ class RequestService
+ include Gitlab::Routing.url_helpers
+
+ def initialize(service, params)
+ @service = service
+ @params = params
+ end
+
+ def execute
+ token = chat_name_token.store!(chat_name_params)
+
+ new_profile_chat_name_url(token: token) if token
+ end
+
+ private
+
+ def chat_name_token
+ Gitlab::ChatNameToken.new
+ end
+
+ def chat_name_params
+ {
+ service_id: @service.id,
+ team_id: @params[:team_id],
+ team_domain: @params[:team_domain],
+ chat_id: @params[:user_id],
+ chat_name: @params[:user_name]
+ }
+ end
+ end
+end