1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 11:55:40 +01:00

Add category support for aggregator

This commit is contained in:
Sascha L. Teichmann 2022-06-30 13:54:51 +02:00
parent 198e5b8897
commit 7bafb210cf
4 changed files with 83 additions and 8 deletions

View file

@ -209,6 +209,25 @@ func (w *worker) writeROLIE(label string, summaries []summary) error {
return util.WriteToFile(path, rolie)
}
func (w *worker) writeCategories(label string) error {
categories := w.categories[label]
if len(categories) == 0 {
return nil
}
cats := make([]string, len(categories))
var i int
for cat := range categories {
cats[i] = cat
i++
}
rcd := csaf.NewROLIECategoryDocument(cats...)
labelFolder := strings.ToLower(label)
fname := "category-" + labelFolder + ".json"
path := filepath.Join(w.dir, labelFolder, fname)
return util.WriteToFile(path, rcd)
}
func (w *worker) writeIndices() error {
if len(w.summaries) == 0 || w.dir == "" {
@ -229,6 +248,9 @@ func (w *worker) writeIndices() error {
if err := w.writeROLIE(label, summaries); err != nil {
return err
}
if err := w.writeCategories(label); err != nil {
return err
}
}
return nil