diff --git a/internal/presenter/poweruser/json_document.go b/internal/presenter/poweruser/json_document.go index d468bfaf5..b9b62b2c8 100644 --- a/internal/presenter/poweruser/json_document.go +++ b/internal/presenter/poweruser/json_document.go @@ -1,11 +1,12 @@ package poweruser 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 { - // 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 // 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. @@ -13,15 +14,12 @@ type JSONDocument struct { FileContents []JSONFileContents `json:"fileContents,omitempty"` // note: must have omitempty FileMetadata []JSONFileMetadata `json:"fileMetadata,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. func NewJSONDocument(config JSONDocumentConfig) (JSONDocument, error) { - pkgsDoc, err := packages.NewJSONDocument(config.PackageCatalog, config.SourceMetadata, config.Distro, config.ApplicationConfig.Package.Cataloger.ScopeOpt, config.ApplicationConfig) - if err != nil { - return JSONDocument{}, err - } + pkgsDoc := syftjson.ToFormatModel(config.PackageCatalog, &config.SourceMetadata, config.Distro, config.ApplicationConfig) fileMetadata, err := NewJSONFileMetadata(config.FileMetadata, config.FileDigests) if err != nil { @@ -33,6 +31,6 @@ func NewJSONDocument(config JSONDocumentConfig) (JSONDocument, error) { FileContents: NewJSONFileContents(config.FileContents), FileMetadata: fileMetadata, Secrets: NewJSONSecrets(config.Secrets), - JSONDocument: pkgsDoc, + Document: pkgsDoc, }, nil }