package models import "time" // SBOMReport stores the generated CycloneDX BOM for a repo at a specific SHA. // BOMDocument holds the full JSON but is not returned by list endpoints — // use the dedicated document endpoint to stream it. type SBOMReport struct { ID int64 `xorm:"'id' pk autoincr" json:"id"` RepoID int64 `xorm:"'repo_id' notnull index" json:"repoId"` RunID int64 `xorm:"'run_id' index" json:"runId"` // 0 = on-demand SHA string `xorm:"'sha' varchar(40)" json:"sha"` Format string `xorm:"'format' varchar(30)" json:"format"` // "cyclonedx-json-1.4" ComponentCount int `xorm:"'component_count'" json:"componentCount"` BOMDocument string `xorm:"'bom_document' text" json:"-"` // full JSON, not returned in lists GeneratedAt time.Time `xorm:"'generated_at'" json:"generatedAt"` }