summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/import/bitbucket_controller.rb23
-rw-r--r--app/controllers/import/github_controller.rb16
-rw-r--r--app/controllers/import/gitlab_controller.rb16
-rw-r--r--app/workers/repository_import_worker.rb3
4 files changed, 38 insertions, 20 deletions
diff --git a/app/controllers/import/bitbucket_controller.rb b/app/controllers/import/bitbucket_controller.rb
index 4e6c0b66634..f84f85a7df8 100644
--- a/app/controllers/import/bitbucket_controller.rb
+++ b/app/controllers/import/bitbucket_controller.rb
@@ -13,10 +13,9 @@ class Import::BitbucketController < Import::BaseController
access_token = client.get_token(request_token, params[:oauth_verifier], callback_import_bitbucket_url)
- current_user.bitbucket_access_token = access_token.token
- current_user.bitbucket_access_token_secret = access_token.secret
+ session[:bitbucket_access_token] = access_token.token
+ session[:bitbucket_access_token_secret] = access_token.secret
- current_user.save
redirect_to status_import_bitbucket_url
end
@@ -46,19 +45,20 @@ class Import::BitbucketController < Import::BaseController
namespace = get_or_create_namespace || (render and return)
- unless Gitlab::BitbucketImport::KeyAdder.new(repo, current_user).execute
+ unless Gitlab::BitbucketImport::KeyAdder.new(repo, current_user, access_params).execute
@access_denied = true
render
return
end
- @project = Gitlab::BitbucketImport::ProjectCreator.new(repo, namespace, current_user).execute
+ @project = Gitlab::BitbucketImport::ProjectCreator.new(repo, namespace, current_user, access_params).execute
end
private
def client
- @client ||= Gitlab::BitbucketImport::Client.new(current_user.bitbucket_access_token, current_user.bitbucket_access_token_secret)
+ @client ||= Gitlab::BitbucketImport::Client.new(session[:bitbucket_access_token],
+ session[:bitbucket_access_token_secret])
end
def verify_bitbucket_import_enabled
@@ -66,7 +66,7 @@ class Import::BitbucketController < Import::BaseController
end
def bitbucket_auth
- if current_user.bitbucket_access_token.blank?
+ if session[:bitbucket_access_token].blank?
go_to_bitbucket_for_permissions
end
end
@@ -81,4 +81,13 @@ class Import::BitbucketController < Import::BaseController
def bitbucket_unauthorized
go_to_bitbucket_for_permissions
end
+
+ private
+
+ def access_params
+ {
+ bitbucket_access_token: session[:bitbucket_access_token],
+ bitbucket_access_token_secret: session[:bitbucket_access_token_secret]
+ }
+ end
end
diff --git a/app/controllers/import/github_controller.rb b/app/controllers/import/github_controller.rb
index b9f99c1b88a..f21fbd9ecca 100644
--- a/app/controllers/import/github_controller.rb
+++ b/app/controllers/import/github_controller.rb
@@ -5,9 +5,7 @@ class Import::GithubController < Import::BaseController
rescue_from Octokit::Unauthorized, with: :github_unauthorized
def callback
- token = client.get_token(params[:code])
- current_user.github_access_token = token
- current_user.save
+ session[:github_access_token] = client.get_token(params[:code])
redirect_to status_import_github_url
end
@@ -39,13 +37,13 @@ class Import::GithubController < Import::BaseController
namespace = get_or_create_namespace || (render and return)
- @project = Gitlab::GithubImport::ProjectCreator.new(repo, namespace, current_user).execute
+ @project = Gitlab::GithubImport::ProjectCreator.new(repo, namespace, current_user, access_params).execute
end
private
def client
- @client ||= Gitlab::GithubImport::Client.new(current_user.github_access_token)
+ @client ||= Gitlab::GithubImport::Client.new(session[:github_access_token])
end
def verify_github_import_enabled
@@ -53,7 +51,7 @@ class Import::GithubController < Import::BaseController
end
def github_auth
- if current_user.github_access_token.blank?
+ if session[:github_access_token].blank?
go_to_github_for_permissions
end
end
@@ -65,4 +63,10 @@ class Import::GithubController < Import::BaseController
def github_unauthorized
go_to_github_for_permissions
end
+
+ private
+
+ def access_params
+ { github_access_token: session[:github_access_token] }
+ end
end
diff --git a/app/controllers/import/gitlab_controller.rb b/app/controllers/import/gitlab_controller.rb
index 1b8962d8924..27af19f5f61 100644
--- a/app/controllers/import/gitlab_controller.rb
+++ b/app/controllers/import/gitlab_controller.rb
@@ -5,9 +5,7 @@ class Import::GitlabController < Import::BaseController
rescue_from OAuth2::Error, with: :gitlab_unauthorized
def callback
- token = client.get_token(params[:code], callback_import_gitlab_url)
- current_user.gitlab_access_token = token
- current_user.save
+ session[:gitlab_access_token] = client.get_token(params[:code], callback_import_gitlab_url)
redirect_to status_import_gitlab_url
end
@@ -36,13 +34,13 @@ class Import::GitlabController < Import::BaseController
namespace = get_or_create_namespace || (render and return)
- @project = Gitlab::GitlabImport::ProjectCreator.new(repo, namespace, current_user).execute
+ @project = Gitlab::GitlabImport::ProjectCreator.new(repo, namespace, current_user, access_params).execute
end
private
def client
- @client ||= Gitlab::GitlabImport::Client.new(current_user.gitlab_access_token)
+ @client ||= Gitlab::GitlabImport::Client.new(session[:gitlab_access_token])
end
def verify_gitlab_import_enabled
@@ -50,7 +48,7 @@ class Import::GitlabController < Import::BaseController
end
def gitlab_auth
- if current_user.gitlab_access_token.blank?
+ if session[:gitlab_access_token].blank?
go_to_gitlab_for_permissions
end
end
@@ -62,4 +60,10 @@ class Import::GitlabController < Import::BaseController
def gitlab_unauthorized
go_to_gitlab_for_permissions
end
+
+ private
+
+ def access_params
+ { gitlab_access_token: session[:gitlab_access_token] }
+ end
end
diff --git a/app/workers/repository_import_worker.rb b/app/workers/repository_import_worker.rb
index b546f8777e1..f2ba2e15e7b 100644
--- a/app/workers/repository_import_worker.rb
+++ b/app/workers/repository_import_worker.rb
@@ -25,9 +25,10 @@ class RepositoryImportWorker
end
return project.import_fail unless data_import_result
+ Gitlab::BitbucketImport::KeyDeleter.new(project).execute if project.import_type == 'bitbucket'
+
project.import_finish
project.save
ProjectCacheWorker.perform_async(project.id)
- Gitlab::BitbucketImport::KeyDeleter.new(project).execute if project.import_type == 'bitbucket'
end
end