diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-11-13 22:35:47 +0300 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-11-16 15:42:35 +0300 |
commit | c60437786bfe43344b4a5eb040437f73f37c6396 (patch) | |
tree | fe90ee0dd9e556369e7f53ce4a03e2751b486682 /app/services/chat_names | |
parent | c5169b5d447ab6c73bbe542c071a4054c5969165 (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.rb | 15 | ||||
-rw-r--r-- | app/services/chat_names/request_service.rb | 32 |
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 |