Merge pull request #11467 from heww/fix-issue-11131

fix(scan): dump nil slice of vulnerabilities as empty slice in report
This commit is contained in:
He Weiwei 2020-04-07 15:01:17 +08:00 committed by GitHub
commit dd95866e6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,6 +15,8 @@
package vuln
import (
"encoding/json"
v1 "github.com/goharbor/harbor/src/pkg/scan/rest/v1"
)
@ -30,6 +32,24 @@ type Report struct {
Vulnerabilities []*VulnerabilityItem `json:"vulnerabilities"`
}
// MarshalJSON custom function to dump nil slice of Vulnerabilities as empty slice
// See https://github.com/goharbor/harbor/issues/11131 to get more details
func (report *Report) MarshalJSON() ([]byte, error) {
type Alias Report
aux := &struct {
*Alias
}{
Alias: (*Alias)(report),
}
if aux.Vulnerabilities == nil {
aux.Vulnerabilities = []*VulnerabilityItem{}
}
return json.Marshal(aux)
}
// Merge ...
func (report *Report) Merge(another *Report) *Report {
generatedAt := report.GeneratedAt