Move Gitlab::BitbucketImport::KeyDeleter to it's own importer
This commit is contained in:
parent
6dd88e090e
commit
c040323419
|
@ -49,10 +49,6 @@ module Projects
|
|||
unless importer.execute
|
||||
raise Error, 'The remote data could not be imported.'
|
||||
end
|
||||
|
||||
if project.import_type == 'bitbucket'
|
||||
Gitlab::BitbucketImport::KeyDeleter.new(project).execute
|
||||
end
|
||||
end
|
||||
|
||||
def has_importer?
|
||||
|
|
|
@ -13,12 +13,34 @@ module Gitlab
|
|||
end
|
||||
|
||||
def execute
|
||||
project_identifier = project.import_source
|
||||
import_issues if has_issues?
|
||||
|
||||
return true unless client.project(project_identifier)["has_issues"]
|
||||
true
|
||||
ensure
|
||||
Gitlab::BitbucketImport::KeyDeleter.new(project).execute
|
||||
end
|
||||
|
||||
#Issues && Comments
|
||||
issues = client.issues(project_identifier)
|
||||
private
|
||||
|
||||
def gl_user_id(project, bitbucket_id)
|
||||
if bitbucket_id
|
||||
user = User.joins(:identities).find_by("identities.extern_uid = ? AND identities.provider = 'bitbucket'", bitbucket_id.to_s)
|
||||
(user && user.id) || project.creator_id
|
||||
else
|
||||
project.creator_id
|
||||
end
|
||||
end
|
||||
|
||||
def identifier
|
||||
project.import_source
|
||||
end
|
||||
|
||||
def has_issues?
|
||||
client.project(identifier)["has_issues"]
|
||||
end
|
||||
|
||||
def import_issues
|
||||
issues = client.issues(identifier)
|
||||
|
||||
issues.each do |issue|
|
||||
body = ''
|
||||
|
@ -33,7 +55,7 @@ module Gitlab
|
|||
body = @formatter.author_line(author)
|
||||
body += issue["content"]
|
||||
|
||||
comments = client.issue_comments(project_identifier, issue["local_id"])
|
||||
comments = client.issue_comments(identifier, issue["local_id"])
|
||||
|
||||
if comments.any?
|
||||
body += @formatter.comments_header
|
||||
|
@ -56,20 +78,9 @@ module Gitlab
|
|||
author_id: gl_user_id(project, reporter)
|
||||
)
|
||||
end
|
||||
|
||||
true
|
||||
rescue ActiveRecord::RecordInvalid => e
|
||||
raise Projects::ImportService::Error, e.message
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def gl_user_id(project, bitbucket_id)
|
||||
if bitbucket_id
|
||||
user = User.joins(:identities).find_by("identities.extern_uid = ? AND identities.provider = 'bitbucket'", bitbucket_id.to_s)
|
||||
(user && user.id) || project.creator_id
|
||||
else
|
||||
project.creator_id
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue