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:
Diffstat (limited to 'app/controllers/import/bitbucket_controller.rb')
-rw-r--r--app/controllers/import/bitbucket_controller.rb82
1 files changed, 0 insertions, 82 deletions
diff --git a/app/controllers/import/bitbucket_controller.rb b/app/controllers/import/bitbucket_controller.rb
deleted file mode 100644
index bb8d7e0235c..00000000000
--- a/app/controllers/import/bitbucket_controller.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-class Import::BitbucketController < Import::BaseController
- before_filter :verify_bitbucket_import_enabled
- before_filter :bitbucket_auth, except: :callback
-
- rescue_from OAuth::Error, with: :bitbucket_unauthorized
-
- def callback
- request_token = session.delete(:oauth_request_token)
- raise "Session expired!" if request_token.nil?
-
- request_token.symbolize_keys!
-
- 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
-
- current_user.save
- redirect_to status_import_bitbucket_url
- end
-
- def status
- @repos = client.projects
-
- @already_added_projects = current_user.created_projects.where(import_type: "bitbucket")
- already_added_projects_names = @already_added_projects.pluck(:import_source)
-
- @repos.to_a.reject!{ |repo| already_added_projects_names.include? "#{repo["owner"]}/#{repo["slug"]}" }
- end
-
- def jobs
- jobs = current_user.created_projects.where(import_type: "bitbucket").to_json(only: [:id, :import_status])
- render json: jobs
- end
-
- def create
- @repo_id = params[:repo_id] || ""
- repo = client.project(@repo_id.gsub("___", "/"))
- @project_name = repo["slug"]
-
- repo_owner = repo["owner"]
- repo_owner = current_user.username if repo_owner == client.user["user"]["username"]
- @target_namespace = params[:new_namespace].presence || repo_owner
-
- namespace = get_or_create_namespace || (render and return)
-
- unless Gitlab::BitbucketImport::KeyAdder.new(repo, current_user).execute
- @access_denied = true
- render
- return
- end
-
- @project = Gitlab::BitbucketImport::ProjectCreator.new(repo, namespace, current_user).execute
- end
-
- private
-
- def client
- @client ||= Gitlab::BitbucketImport::Client.new(current_user.bitbucket_access_token, current_user.bitbucket_access_token_secret)
- end
-
- def verify_bitbucket_import_enabled
- not_found! unless bitbucket_import_enabled?
- end
-
- def bitbucket_auth
- if current_user.bitbucket_access_token.blank?
- go_to_bitbucket_for_permissions
- end
- end
-
- def go_to_bitbucket_for_permissions
- request_token = client.request_token(callback_import_bitbucket_url)
- session[:oauth_request_token] = request_token
-
- redirect_to client.authorize_url(request_token, callback_import_bitbucket_url)
- end
-
- def bitbucket_unauthorized
- go_to_bitbucket_for_permissions
- end
-end