Skip to content
Snippets Groups Projects

Fix n plus one issue ci build dast profile

All threads resolved!
3 files
+ 18
14
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -4,23 +4,27 @@ module AppSec
@@ -4,23 +4,27 @@ module AppSec
module Dast
module Dast
module Profiles
module Profiles
class CreateAssociationsService < BaseProjectService
class CreateAssociationsService < BaseProjectService
def initialize(dast_profiles, builds)
def initialize(dast_profile, builds)
@dast_profiles = dast_profiles
@dast_profile = dast_profile
@builds = builds
@builds = builds
 
@dast_site_profiles_builds = []
 
@dast_scanner_profiles_builds = []
end
end
def associate_dast_profiles_to_builds
def execute
dast_site_profiles_builds
@builds.each do |build|
Dast::SiteProfilesBuild.insert_all!(dast_site_profiles_builds)
next unless build.is_a?(::Ci::Build)
dast_scanner_profiles_builds
dast_site_profile = @dast_profile.payload[:dast_site_profile]
Dast::ScannerProfilesBuild.insert_all!(dast_scanner_profiles_builds)
@dast_site_profiles_builds.append(Dast::SiteProfilesBuild.new(ci_build: build, dast_site_profile: dast_site_profile)) if dast_site_profile
end
def dast_site_profiles_builds
dast_scanner_profile = @dast_profile.payload[:dast_scanner_profile]
end
@dast_scanner_profiles_builds.append(Dast::ScannerProfilesBuild.new(ci_build: build, dast_scanner_profile: dast_scanner_profile)) if dast_scanner_profile
 
end
 
 
Dast::SiteProfilesBuild.insert_all!(@dast_site_profiles_builds)
def dast_scanner_profiles_builds
Dast::ScannerProfilesBuild.insert_all!(@dast_scanner_profiles_builds)
end
end
end
end
end
end
Loading