BB importer: Fixed bug with putting expired token to a project.clone_url
This commit is contained in:
parent
076cdd2044
commit
26628fb91a
|
@ -49,6 +49,9 @@ class Import::BitbucketController < Import::BaseController
|
|||
namespace = find_or_create_namespace(@target_namespace, current_user)
|
||||
|
||||
if current_user.can?(:create_projects, namespace)
|
||||
# The token in a session can be expired, we need to get most recent one because
|
||||
# Bitbucket::Connection class refreshes it.
|
||||
session[:bitbucket_token] = bitbucket_client.connection.token
|
||||
@project = Gitlab::BitbucketImport::ProjectCreator.new(repo, @project_name, namespace, current_user, credentials).execute
|
||||
else
|
||||
render 'unauthorized'
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
module Bitbucket
|
||||
class Client
|
||||
attr_reader :connection
|
||||
|
||||
def initialize(options = {})
|
||||
@connection = Connection.new(options)
|
||||
end
|
||||
|
@ -48,8 +50,6 @@ module Bitbucket
|
|||
|
||||
private
|
||||
|
||||
attr_reader :connection
|
||||
|
||||
def get_collection(path, type)
|
||||
paginator = Paginator.new(connection, path, type)
|
||||
Collection.new(paginator)
|
||||
|
|
|
@ -4,6 +4,8 @@ module Bitbucket
|
|||
DEFAULT_BASE_URI = 'https://api.bitbucket.org/'
|
||||
DEFAULT_QUERY = {}
|
||||
|
||||
attr_reader :expires_at, :expires_in, :refresh_token, :token
|
||||
|
||||
def initialize(options = {})
|
||||
@api_version = options.fetch(:api_version, DEFAULT_API_VERSION)
|
||||
@base_uri = options.fetch(:base_uri, DEFAULT_BASE_URI)
|
||||
|
@ -38,8 +40,6 @@ module Bitbucket
|
|||
|
||||
private
|
||||
|
||||
attr_reader :expires_at, :expires_in, :refresh_token, :token
|
||||
|
||||
def client
|
||||
@client ||= OAuth2::Client.new(provider.app_id, provider.app_secret, options)
|
||||
end
|
||||
|
|
|
@ -21,7 +21,7 @@ module Gitlab
|
|||
visibility_level: repo.visibility_level,
|
||||
import_type: 'bitbucket',
|
||||
import_source: repo.full_name,
|
||||
import_url: repo.clone_url(@session_data[:token]),
|
||||
import_url: repo.clone_url(session_data[:token]),
|
||||
import_data: { credentials: session_data }
|
||||
).execute
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue