mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 16:33:21 +01:00
update the power-user JSON document to use the format model directory
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
This commit is contained in:
parent
3ca797dc53
commit
bd89e22fe5
@ -1,11 +1,12 @@
|
|||||||
package poweruser
|
package poweruser
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/anchore/syft/internal/presenter/packages"
|
"github.com/anchore/syft/internal/formats/syftjson"
|
||||||
|
"github.com/anchore/syft/internal/formats/syftjson/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type JSONDocument struct {
|
type JSONDocument struct {
|
||||||
// note: poweruser.JSONDocument is meant to always be a superset of packages.JSONDocument, any additional fields
|
// note: poweruser.JSONDocument is meant to always be a superset of packages.Document, any additional fields
|
||||||
// here should be optional by supplying "omitempty" on these fields hint to the jsonschema generator to not
|
// here should be optional by supplying "omitempty" on these fields hint to the jsonschema generator to not
|
||||||
// require these fields. As an accepted rule in this repo all collections should still be initialized in the
|
// require these fields. As an accepted rule in this repo all collections should still be initialized in the
|
||||||
// context of being used in a JSON document.
|
// context of being used in a JSON document.
|
||||||
@ -13,15 +14,12 @@ type JSONDocument struct {
|
|||||||
FileContents []JSONFileContents `json:"fileContents,omitempty"` // note: must have omitempty
|
FileContents []JSONFileContents `json:"fileContents,omitempty"` // note: must have omitempty
|
||||||
FileMetadata []JSONFileMetadata `json:"fileMetadata,omitempty"` // note: must have omitempty
|
FileMetadata []JSONFileMetadata `json:"fileMetadata,omitempty"` // note: must have omitempty
|
||||||
Secrets []JSONSecrets `json:"secrets,omitempty"` // note: must have omitempty
|
Secrets []JSONSecrets `json:"secrets,omitempty"` // note: must have omitempty
|
||||||
packages.JSONDocument
|
model.Document
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewJSONDocument creates and populates a new JSON document struct from the given cataloging results.
|
// NewJSONDocument creates and populates a new JSON document struct from the given cataloging results.
|
||||||
func NewJSONDocument(config JSONDocumentConfig) (JSONDocument, error) {
|
func NewJSONDocument(config JSONDocumentConfig) (JSONDocument, error) {
|
||||||
pkgsDoc, err := packages.NewJSONDocument(config.PackageCatalog, config.SourceMetadata, config.Distro, config.ApplicationConfig.Package.Cataloger.ScopeOpt, config.ApplicationConfig)
|
pkgsDoc := syftjson.ToFormatModel(config.PackageCatalog, &config.SourceMetadata, config.Distro, config.ApplicationConfig)
|
||||||
if err != nil {
|
|
||||||
return JSONDocument{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
fileMetadata, err := NewJSONFileMetadata(config.FileMetadata, config.FileDigests)
|
fileMetadata, err := NewJSONFileMetadata(config.FileMetadata, config.FileDigests)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -33,6 +31,6 @@ func NewJSONDocument(config JSONDocumentConfig) (JSONDocument, error) {
|
|||||||
FileContents: NewJSONFileContents(config.FileContents),
|
FileContents: NewJSONFileContents(config.FileContents),
|
||||||
FileMetadata: fileMetadata,
|
FileMetadata: fileMetadata,
|
||||||
Secrets: NewJSONSecrets(config.Secrets),
|
Secrets: NewJSONSecrets(config.Secrets),
|
||||||
JSONDocument: pkgsDoc,
|
Document: pkgsDoc,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user