diff options
Diffstat (limited to 'app/models/bulk_imports/entity.rb')
-rw-r--r-- | app/models/bulk_imports/entity.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/bulk_imports/entity.rb b/app/models/bulk_imports/entity.rb index 24f86b44841..ab5d248ff8c 100644 --- a/app/models/bulk_imports/entity.rb +++ b/app/models/bulk_imports/entity.rb @@ -78,6 +78,30 @@ class BulkImports::Entity < ApplicationRecord ERB::Util.url_encode(source_full_path) end + def pipelines + @pipelines ||= case source_type + when 'group_entity' + BulkImports::Groups::Stage.pipelines + when 'project_entity' + BulkImports::Projects::Stage.pipelines + end + end + + def pipeline_exists?(name) + pipelines.any? { |_, pipeline| pipeline.to_s == name.to_s } + end + + def create_pipeline_trackers! + self.class.transaction do + pipelines.each do |stage, pipeline| + trackers.create!( + stage: stage, + pipeline_name: pipeline + ) + end + end + end + private def validate_parent_is_a_group |