summaryrefslogtreecommitdiff
path: root/lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb')
-rw-r--r--lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb b/lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb
new file mode 100644
index 00000000000..6d1b588f0e0
--- /dev/null
+++ b/lib/gitlab/github_import/importer/pull_requests_reviews_importer.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module GithubImport
+ module Importer
+ class PullRequestsReviewsImporter
+ include ParallelScheduling
+
+ def importer_class
+ PullRequestReviewImporter
+ end
+
+ def representation_class
+ Gitlab::GithubImport::Representation::PullRequestReview
+ end
+
+ def sidekiq_worker_class
+ ImportPullRequestReviewWorker
+ end
+
+ def collection_method
+ :pull_request_reviews
+ end
+
+ def id_for_already_imported_cache(review)
+ review.github_id
+ end
+
+ def each_object_to_import
+ project.merge_requests.find_each do |merge_request|
+ reviews = client.pull_request_reviews(project.import_source, merge_request.iid)
+ reviews.each do |review|
+ review.merge_request_id = merge_request.id
+ yield(review)
+ end
+ end
+ end
+ end
+ end
+ end
+end