Skip to content

Commit ff11d83

Browse files
patrick.rissmann@l3montree.compatrick.rissmann@l3montree.com
authored andcommitted
Changed all the sql querys containing scanner ID to use LIKE instead of =
1 parent 51afa61 commit ff11d83

3 files changed

Lines changed: 8 additions & 8 deletions

File tree

internal/database/repositories/component_repository.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func (c *componentRepository) LoadComponents(tx core.DB, assetVersionName string
6363
query := c.GetDB(tx).Preload("Component").Preload("Dependency").Where("asset_version_name = ? AND asset_id = ?", assetVersionName, assetID)
6464

6565
if scannerID != "" {
66-
query = query.Where("scanner_id = ?", scannerID)
66+
query = query.Where("scanner_id LIKE %?%", scannerID)
6767
}
6868

6969
err = query.Find(&components).Error
@@ -85,12 +85,12 @@ func (c *componentRepository) LoadPathToComponent(tx core.DB, assetVersionName s
8585
query := c.GetDB(tx).Raw(`WITH RECURSIVE components_cte AS (
8686
SELECT component_purl,dependency_purl,asset_id,scanner_id,depth,semver_start,semver_end
8787
FROM component_dependencies
88-
WHERE dependency_purl like ? AND asset_id = ? AND asset_version_name = ? AND scanner_id = ?
88+
WHERE dependency_purl like ? AND asset_id = ? AND asset_version_name = ? AND scanner_id LIKE %?%
8989
UNION ALL
9090
SELECT co.component_purl,co.dependency_purl,co.asset_id,co.scanner_id,co.depth,co.semver_start,co.semver_end
9191
FROM component_dependencies AS co
9292
INNER JOIN components_cte AS cte ON co.dependency_purl = cte.component_purl
93-
WHERE co.asset_id = ? AND co.asset_version_name = ? AND co.scanner_id = ?
93+
WHERE co.asset_id = ? AND co.asset_version_name = ? AND co.scanner_id LIKE %?%
9494
)
9595
SELECT DISTINCT * FROM components_cte`, pURL, assetID, assetVersionName, scannerID, assetID, assetVersionName, scannerID)
9696

@@ -114,7 +114,7 @@ func (c *componentRepository) GetLicenseDistribution(tx core.DB, assetVersionNam
114114
query := c.GetDB(tx).Table("components").Select("components.license as license, COUNT(components.license) as count").Joins("RIGHT JOIN component_dependencies ON components.purl = component_dependencies.dependency_purl").Where("asset_version_name = ? AND asset_id = ?", assetVersionName, assetID).Group("components.license")
115115

116116
if scanner != "" {
117-
query = query.Where("scanner_id = ?", scanner)
117+
query = query.Where("scanner_id LIKE %?%", scanner)
118118
}
119119

120120
err = query.Scan(&licenses).Error
@@ -146,7 +146,7 @@ func (c *componentRepository) LoadComponentsWithProject(tx core.DB, assetVersion
146146
query := c.GetDB(tx).Model(&models.ComponentDependency{}).Joins("Dependency").Joins("Dependency.ComponentProject").Where("asset_version_name = ? AND asset_id = ?", assetVersionName, assetID)
147147

148148
if scanner != "" {
149-
query = query.Where("scanner_id = ?", scanner)
149+
query = query.Where("scanner_id LIKE %?%", scanner)
150150
}
151151

152152
for _, f := range filter {
@@ -182,7 +182,7 @@ func (c *componentRepository) LoadComponentsWithProject(tx core.DB, assetVersion
182182

183183
func (c *componentRepository) LoadAllLatestComponentFromAssetVersion(tx core.DB, assetVersion models.AssetVersion, scannerID string) ([]models.ComponentDependency, error) {
184184
var component []models.ComponentDependency
185-
err := c.GetDB(tx).Preload("Component").Preload("Dependency").Where("asset_version_name = ? AND asset_id AND scanner_id = ?", assetVersion.Name, assetVersion.AssetID).Find(&component).Error
185+
err := c.GetDB(tx).Preload("Component").Preload("Dependency").Where("asset_version_name = ? AND asset_id AND scanner_id LIKE %?%", assetVersion.Name, assetVersion.AssetID).Find(&component).Error
186186
return component, err
187187
}
188188

internal/database/repositories/dependency_vuln_repository.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func (r *dependencyVulnRepository) GetDependencyVulnsByAssetVersion(tx *gorm.DB,
6767

6868
func (r *dependencyVulnRepository) ListByScanner(assetVersionName string, assetID uuid.UUID, scannerID string) ([]models.DependencyVuln, error) {
6969
var dependencyVulns []models.DependencyVuln = []models.DependencyVuln{}
70-
if err := r.Repository.GetDB(r.db).Preload("CVE").Where("asset_version_name = ? AND asset_id = ? AND scanner_id = ?", assetVersionName, assetID, scannerID).Find(&dependencyVulns).Error; err != nil {
70+
if err := r.Repository.GetDB(r.db).Preload("CVE").Where("asset_version_name = ? AND asset_id = ? AND LIKE %?%", assetVersionName, assetID, scannerID).Find(&dependencyVulns).Error; err != nil {
7171
return nil, err
7272
}
7373
return dependencyVulns, nil

internal/database/repositories/first_party_vuln_repository.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func NewFirstPartyVulnerabilityRepository(db core.DB) *firstPartyVulnerabilityRe
2323

2424
func (r *firstPartyVulnerabilityRepository) ListByScanner(assetVersionName string, assetID uuid.UUID, scannerID string) ([]models.FirstPartyVulnerability, error) {
2525
var vulns []models.FirstPartyVulnerability = []models.FirstPartyVulnerability{}
26-
if err := r.Repository.GetDB(r.db).Where("asset_version_name = ? AND asset_id = ? AND scanner_id = ?", assetVersionName, assetID, scannerID).Find(&vulns).Error; err != nil {
26+
if err := r.Repository.GetDB(r.db).Where("asset_version_name = ? AND asset_id = ? AND scanner_id LIKE %?%", assetVersionName, assetID, scannerID).Find(&vulns).Error; err != nil {
2727
return nil, err
2828
}
2929
return vulns, nil

0 commit comments

Comments
 (0)