Skip to content

Commit

Permalink
analysis:fix - Fix analysis not update otherss fields if alredy exists (
Browse files Browse the repository at this point in the history
#525)

When Horusec-API receive new analysis the fields column, confidence,
security_tool, language aren't updated if vulnerabilityID already
exists in database, then I updated the map of the entity for update
this fields too.

Signed-off-by: wilian <[email protected]>
  • Loading branch information
wiliansilvazup authored Jan 13, 2022
1 parent 9c1615c commit dd9e76e
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions api/internal/repositories/analysis/analysis.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,13 @@ func (a *Analysis) createVulnerabilityIfNotExists(vuln *vulnerability.Vulnerabil
if !exists {
return vuln.VulnerabilityID, tsx.Create(vuln, vuln.GetTable()).GetError()
}
return a.updateCommitAuthors(vuln, res.GetData(), tsx)
return a.updateVulnerability(vuln, res.GetData(), tsx)
}
return uuid.Nil, err
}

func (a *Analysis) updateCommitAuthors(vuln *vulnerability.Vulnerability, resFindVuln interface{},
// nolint:funlen // method is not necessary broken
func (a *Analysis) updateVulnerability(vuln *vulnerability.Vulnerability, resFindVuln interface{},
tsx database.IDatabaseWrite) (uuid.UUID, error) {
vulnID, err := uuid.Parse(resFindVuln.(map[string]interface{})["vulnerability_id"].(string))
if err != nil {
Expand All @@ -124,6 +125,10 @@ func (a *Analysis) updateCommitAuthors(vuln *vulnerability.Vulnerability, resFin
tableName := (&vulnerability.Vulnerability{}).GetTable()
condition := map[string]interface{}{"vulnerability_id": vulnID}
entity := map[string]interface{}{
"column": vuln.Column,
"confidence": vuln.Confidence.ToString(),
"security_tool": vuln.SecurityTool.ToString(),
"language": vuln.Language.ToString(),
"commit_author": vuln.CommitAuthor,
"commit_email": vuln.CommitEmail,
"commit_hash": vuln.CommitHash,
Expand Down

0 comments on commit dd9e76e

Please sign in to comment.