diff options
Diffstat (limited to 'app/services/projects/create_service.rb')
-rw-r--r-- | app/services/projects/create_service.rb | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index 3233d1799b8..bffd443c49f 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -150,7 +150,7 @@ module Projects if @project.save unless @project.gitlab_project_import? - create_services_from_active_templates(@project) + create_services_from_active_instances_or_templates(@project) @project.create_labels end @@ -166,7 +166,7 @@ module Projects log_message = message.dup log_message << " Project ID: #{@project.id}" if @project&.id - Rails.logger.error(log_message) # rubocop:disable Gitlab/RailsLogger + Gitlab::AppLogger.error(log_message) if @project && @project.persisted? && @project.import_state @project.import_state.mark_as_failed(message) @@ -175,15 +175,6 @@ module Projects @project end - # rubocop: disable CodeReuse/ActiveRecord - def create_services_from_active_templates(project) - Service.where(template: true, active: true).each do |template| - service = Service.build_from_template(project.id, template) - service.save! - end - end - # rubocop: enable CodeReuse/ActiveRecord - def create_prometheus_service service = @project.find_or_initialize_service(::PrometheusService.to_param) @@ -225,6 +216,15 @@ module Projects private + # rubocop: disable CodeReuse/ActiveRecord + def create_services_from_active_instances_or_templates(project) + Service.active.where(instance: true).or(Service.active.where(template: true)).group_by(&:type).each do |type, records| + service = records.find(&:instance?) || records.find(&:template?) + Service.build_from_integration(project.id, service).save! + end + end + # rubocop: enable CodeReuse/ActiveRecord + def project_namespace @project_namespace ||= Namespace.find_by_id(@params[:namespace_id]) || current_user.namespace end @@ -249,9 +249,7 @@ module Projects end end -# rubocop: disable Cop/InjectEnterpriseEditionModule Projects::CreateService.prepend_if_ee('EE::Projects::CreateService') -# rubocop: enable Cop/InjectEnterpriseEditionModule # Measurable should be at the bottom of the ancestor chain, so it will measure execution of EE::Projects::CreateService as well Projects::CreateService.prepend(Measurable) |