2018-11-18 11:00:15 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-05-09 12:01:36 +05:30
|
|
|
module Projects
|
|
|
|
class BaseMoveRelationsService < BaseService
|
|
|
|
attr_reader :source_project
|
|
|
|
def execute(source_project, remove_remaining_elements: true)
|
|
|
|
return if source_project.blank?
|
|
|
|
|
|
|
|
@source_project = source_project
|
|
|
|
|
|
|
|
true
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2018-12-05 23:21:45 +05:30
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
2018-05-09 12:01:36 +05:30
|
|
|
def prepare_relation(relation, id_param = :id)
|
|
|
|
if Gitlab::Database.postgresql?
|
|
|
|
relation
|
|
|
|
else
|
|
|
|
relation.model.where("#{id_param}": relation.pluck(id_param))
|
|
|
|
end
|
|
|
|
end
|
2018-12-05 23:21:45 +05:30
|
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
2018-05-09 12:01:36 +05:30
|
|
|
end
|
|
|
|
end
|