39 lines
754 B
Ruby
39 lines
754 B
Ruby
|
module ChatNames
|
||
|
class AuthorizeUserService
|
||
|
include Gitlab::Routing.url_helpers
|
||
|
|
||
|
def initialize(service, params)
|
||
|
@service = service
|
||
|
@params = params
|
||
|
end
|
||
|
|
||
|
def execute
|
||
|
return unless chat_name_params.values.all?(&:present?)
|
||
|
|
||
|
token = request_token
|
||
|
|
||
|
new_profile_chat_name_url(token: token) if token
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def request_token
|
||
|
chat_name_token.store!(chat_name_params)
|
||
|
end
|
||
|
|
||
|
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
|