/
vulnsummary.go
29 lines (26 loc) · 1004 Bytes
/
vulnsummary.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package notifier
import "github.com/quay/claircore"
// VulnSummary summarizes a vulnerability which triggered
// a notification
type VulnSummary struct {
Name string `json:"name"`
Description string `json:"description"`
Package *claircore.Package `json:"package,omitempty"`
Distribution *claircore.Distribution `json:"distribution,omitempty"`
Repo *claircore.Repository `json:"repo,omitempty"`
Severity string `json:"severity"`
FixedInVersion string `json:"fixed_in_version"`
Links string `json:"links"`
}
func (vs *VulnSummary) FromVulnerability(v *claircore.Vulnerability) {
*vs = VulnSummary{
Name: v.Name,
Description: v.Description,
Package: v.Package,
Distribution: v.Dist,
Repo: v.Repo,
Severity: v.NormalizedSeverity.String(),
FixedInVersion: v.FixedInVersion,
Links: v.Links,
}
}