in providers/vfeed/schema/providers.go [112:149]
func ProvidersNewItem(item *ProvidersItem) (*nvd.NVDCVEFeedJSON10DefCVEItem, error) {
if err := item.validate(); err != nil {
return nil, fmt.Errorf("validation error: %v", err)
}
return &nvd.NVDCVEFeedJSON10DefCVEItem{
CVE: &nvd.CVEJSON40{
CVEDataMeta: &nvd.CVEJSON40CVEDataMeta{
ID: item.ID,
ASSIGNER: item.Vendor,
},
DataFormat: providersDataFormat,
DataType: providersDataType,
DataVersion: providersDataVersion,
Description: &nvd.CVEJSON40Description{
DescriptionData: []*nvd.CVEJSON40LangString{
{
Lang: providersDataLang,
Value: item.Description,
},
},
},
Problemtype: item.problemType(),
References: item.references(),
},
Configurations: item.Configuration.convertToNVD(),
Impact: &nvd.NVDCVEFeedJSON10DefImpact{
BaseMetricV2: &nvd.NVDCVEFeedJSON10DefImpactBaseMetricV2{
CVSSV2: item.cvssV20(),
},
BaseMetricV3: &nvd.NVDCVEFeedJSON10DefImpactBaseMetricV3{
CVSSV3: item.cvssV30(),
},
},
LastModifiedDate: providersConvertTime(item.LastModifiedDate),
PublishedDate: providersConvertTime(item.PublishedDate),
}, nil
}