github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/formats/common/cyclonedxhelpers/publisher.go (about) 1 package cyclonedxhelpers 2 3 import ( 4 "github.com/nextlinux/gosbom/gosbom/pkg" 5 ) 6 7 func encodePublisher(p pkg.Package) string { 8 if hasMetadata(p) { 9 switch metadata := p.Metadata.(type) { 10 case pkg.ApkMetadata: 11 return metadata.Maintainer 12 case pkg.RpmMetadata: 13 return metadata.Vendor 14 case pkg.DpkgMetadata: 15 return metadata.Maintainer 16 } 17 } 18 return "" 19 } 20 21 func decodePublisher(publisher string, metadata interface{}) { 22 switch meta := metadata.(type) { 23 case *pkg.ApkMetadata: 24 meta.Maintainer = publisher 25 case *pkg.RpmMetadata: 26 meta.Vendor = publisher 27 case *pkg.DpkgMetadata: 28 meta.Maintainer = publisher 29 } 30 }