Skip to content

Commit

Permalink
api: add FeatureFromDatabaseModel
Browse files Browse the repository at this point in the history
This also handles replacing the DB identifier for a maximum version with
the string "None".
  • Loading branch information
jzelinskie committed Feb 24, 2016
1 parent 883be87 commit c504d2e
Showing 1 changed file with 23 additions and 8 deletions.
31 changes: 23 additions & 8 deletions api/v1/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,7 @@ func VulnerabilityFromDatabaseModel(dbVuln database.Vulnerability, withFixedIn b

if withFixedIn {
for _, dbFeatureVersion := range dbVuln.FixedIn {
vuln.FixedIn = append(vuln.FixedIn, Feature{
Name: dbFeatureVersion.Feature.Name,
Namespace: dbFeatureVersion.Feature.Namespace.Name,
Version: dbFeatureVersion.Version.String(),
})
vuln.FixedIn = append(vuln.FixedIn, FeatureFromDatabaseModel(dbFeatureVersion))
}
}

Expand All @@ -147,10 +143,29 @@ type Feature struct {
Vulnerabilities []Vulnerability `json:"Vulnerabilities,omitempty"`
}

func FeatureFromDatabaseModel(dbFeatureVersion database.FeatureVersion) Feature {
versionStr := dbFeatureVersion.Version.String()
if versionStr == types.MaxVersion.String() {
versionStr = "None"
}

return Feature{
Name: dbFeatureVersion.Feature.Name,
Namespace: dbFeatureVersion.Feature.Namespace.Name,
Version: versionStr,
}
}

func (f Feature) DatabaseModel() (database.FeatureVersion, error) {
version, err := types.NewVersion(f.Version)
if err != nil {
return database.FeatureVersion{}, err
var version types.Version
if f.Version == "None" {
version = types.MaxVersion
} else {
var err error
version, err = types.NewVersion(f.Version)
if err != nil {
return database.FeatureVersion{}, err
}
}

return database.FeatureVersion{
Expand Down

0 comments on commit c504d2e

Please sign in to comment.