@@ -95,7 +95,7 @@ func preferMarkdown(text common.Text) string {
9595 return text .Text
9696}
9797
98- func (s * service ) HandleFirstPartyVulnResult (asset models.Asset , assetVersion * models.AssetVersion , sarifScan common.SarifResult , scannerID string , userID string ) (int , int , []models.FirstPartyVuln , error ) {
98+ func (s * service ) HandleFirstPartyVulnResult (org models. Org , project models. Project , asset models.Asset , assetVersion * models.AssetVersion , sarifScan common.SarifResult , scannerID string , userID string ) (int , int , []models.FirstPartyVuln , error ) {
9999
100100 firstPartyVulnerabilities := []models.FirstPartyVuln {}
101101
@@ -152,7 +152,7 @@ func (s *service) HandleFirstPartyVulnResult(asset models.Asset, assetVersion *m
152152 return f .CalculateHash ()
153153 })
154154
155- amountOpened , amountClosed , amountExisting , err := s .handleFirstPartyVulnResult (userID , scannerID , assetVersion , firstPartyVulnerabilities , asset )
155+ amountOpened , amountClosed , amountExisting , err := s .handleFirstPartyVulnResult (userID , scannerID , assetVersion , firstPartyVulnerabilities , asset , org , project )
156156 if err != nil {
157157 return 0 , 0 , []models.FirstPartyVuln {}, err
158158 }
@@ -166,7 +166,7 @@ func (s *service) HandleFirstPartyVulnResult(asset models.Asset, assetVersion *m
166166 return amountOpened , amountClosed , amountExisting , nil
167167}
168168
169- func (s * service ) handleFirstPartyVulnResult (userID string , scannerID string , assetVersion * models.AssetVersion , vulns []models.FirstPartyVuln , asset models.Asset ) (int , int , []models.FirstPartyVuln , error ) {
169+ func (s * service ) handleFirstPartyVulnResult (userID string , scannerID string , assetVersion * models.AssetVersion , vulns []models.FirstPartyVuln , asset models.Asset , org models. Org , project models. Project ) (int , int , []models.FirstPartyVuln , error ) {
170170 // get all existing vulns from the database - this is the old state
171171 existingVulns , err := s .firstPartyVulnRepository .ListByScanner (assetVersion .Name , assetVersion .AssetID , scannerID )
172172 if err != nil {
@@ -209,21 +209,10 @@ func (s *service) handleFirstPartyVulnResult(userID string, scannerID string, as
209209 return
210210 }
211211
212- pro , err := s .projectRepository .GetProjectByAssetID (asset .ID )
213- if err != nil {
214- slog .Error ("could not get project by asset ID" , "err" , err )
215- return
216- }
217- org , err := s .orgRepository .Read (pro .OrganizationID )
218- if err != nil {
219- slog .Error ("could not get organization by ID" , "err" , err )
220- return
221- }
222-
223212 if err = s .thirdPartyIntegration .HandleEvent (core.FirstPartyVulnsDetectedEvent {
224213 AssetVersion : core .ToAssetVersionObject (* assetVersion ),
225214 Asset : core .ToAssetObject (asset ),
226- Project : core .ToProjectObject (pro ),
215+ Project : core .ToProjectObject (project ),
227216 Org : core .ToOrgObject (org ),
228217 Vulns : utils .Map (newVulns , vuln .FirstPartyVulnToDto ),
229218 }); err != nil {
@@ -234,7 +223,7 @@ func (s *service) handleFirstPartyVulnResult(userID string, scannerID string, as
234223 return len (newVulns ), len (fixedVulns ), append (newVulns , comparison .InBoth ... ), nil
235224}
236225
237- func (s * service ) HandleScanResult (asset models.Asset , assetVersion * models.AssetVersion , vulns []models.VulnInPackage , scannerID string , userID string ) (opened []models.DependencyVuln , closed []models.DependencyVuln , newState []models.DependencyVuln , err error ) {
226+ func (s * service ) HandleScanResult (org models. Org , project models. Project , asset models.Asset , assetVersion * models.AssetVersion , vulns []models.VulnInPackage , scannerID string , userID string ) (opened []models.DependencyVuln , closed []models.DependencyVuln , newState []models.DependencyVuln , err error ) {
238227
239228 // create dependencyVulns out of those vulnerabilities
240229 dependencyVulns := []models.DependencyVuln {}
@@ -293,22 +282,11 @@ func (s *service) HandleScanResult(asset models.Asset, assetVersion *models.Asse
293282 if len (opened ) == 0 {
294283 return
295284 }
296- pro , err := s .projectRepository .GetProjectByAssetID (asset .ID )
297- if err != nil {
298- slog .Error ("could not get project by asset ID" , "err" , err )
299- return
300- }
301-
302- org , err := s .orgRepository .Read (pro .OrganizationID )
303- if err != nil {
304- slog .Error ("could not get organization by ID" , "err" , err )
305- return
306- }
307285
308286 if err = s .thirdPartyIntegration .HandleEvent (core.DependencyVulnsDetectedEvent {
309287 AssetVersion : core .ToAssetVersionObject (* assetVersion ),
310288 Asset : core .ToAssetObject (asset ),
311- Project : core .ToProjectObject (pro ),
289+ Project : core .ToProjectObject (project ),
312290 Org : core .ToOrgObject (org ),
313291
314292 Vulns : utils .Map (opened , vuln .DependencyVulnToDto ),
@@ -483,7 +461,7 @@ func buildBomRefMap(bom normalize.SBOM) map[string]cdx.Component {
483461 return res
484462}
485463
486- func (s * service ) UpdateSBOM (assetVersion models.AssetVersion , scannerID string , sbom normalize.SBOM ) error {
464+ func (s * service ) UpdateSBOM (org models. Org , project models. Project , asset models. Asset , assetVersion models.AssetVersion , scannerID string , sbom normalize.SBOM ) error {
487465
488466 sbomUpdated := false
489467
@@ -603,28 +581,11 @@ func (s *service) UpdateSBOM(assetVersion models.AssetVersion, scannerID string,
603581 go func (sbomUpdated bool ) {
604582
605583 if sbomUpdated {
606- asset , err := s .assetRepository .Read (assetVersion .AssetID )
607- if err != nil {
608- slog .Error ("could not read asset" , "assetID" , assetVersion .AssetID , "err" , err )
609- return
610- }
611-
612- pro , err := s .projectRepository .GetProjectByAssetID (asset .ID )
613- if err != nil {
614- slog .Error ("could not get project by asset ID" , "err" , err )
615- return
616- }
617-
618- org , err := s .orgRepository .Read (pro .OrganizationID )
619- if err != nil {
620- slog .Error ("could not get organization by ID" , "err" , err )
621- return
622- }
623584
624585 if err = s .thirdPartyIntegration .HandleEvent (core.SBOMCreatedEvent {
625586 AssetVersion : core .ToAssetVersionObject (assetVersion ),
626587 Asset : core .ToAssetObject (asset ),
627- Project : core .ToProjectObject (pro ),
588+ Project : core .ToProjectObject (project ),
628589 Org : core .ToOrgObject (org ),
629590 SBOM : sbom .GetCdxBom (),
630591 }); err != nil {
0 commit comments