in providers/flexera/schema/convert.go [28:74]
func (item *Advisory) Convert() (*nvd.NVDCVEFeedJSON10DefCVEItem, error) {
if item.Products == nil {
return nil, fmt.Errorf("no products associated with advisory")
}
var cpes []string
for _, product := range item.Products {
if productCPEs, err := findCPEs(product); err == nil {
cpes = append(cpes, productCPEs...)
}
}
if len(cpes) == 0 {
return nil, fmt.Errorf("no cpes associated with advisory")
}
lastModifiedDate, err := convertTime(item.ModifiedDate)
if err != nil {
return nil, err
}
publishedDate, err := convertTime(item.Released)
if err != nil {
return nil, err
}
return &nvd.NVDCVEFeedJSON10DefCVEItem{
CVE: &nvd.CVEJSON40{
CVEDataMeta: &nvd.CVEJSON40CVEDataMeta{
ID: item.ID(),
ASSIGNER: "flexera",
},
DataFormat: "MITRE",
DataType: "CVE",
DataVersion: cveDataVersion,
Description: &nvd.CVEJSON40Description{
DescriptionData: []*nvd.CVEJSON40LangString{
{Lang: "en", Value: item.Description},
},
},
References: item.makeReferences(),
},
Configurations: makeConfigurations(cpes),
Impact: item.makeImpact(),
LastModifiedDate: lastModifiedDate,
PublishedDate: publishedDate,
}, nil
}