2018-07-17 16:50:37 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-04-06 15:23:49 +00:00
|
|
|
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-08-27 15:31:01 +00:00
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
2018-04-06 15:23:49 +00:00
|
|
|
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-08-27 15:31:01 +00:00
|
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
2018-04-06 15:23:49 +00:00
|
|
|
end
|
|
|
|
end
|