diff options
author | Paul Duncan <pabs@pablotron.org> | 2022-03-19 07:42:10 -0400 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2022-03-19 07:42:10 -0400 |
commit | 8b9e4eeead8717974d34839c7b32cf9324b860db (patch) | |
tree | 1dabbb8b001b4b75377f7023d8a93c1cff2c7df9 | |
parent | 5ae828ed1feb978dc24acc8545c4d56b4262a7f5 (diff) | |
download | cvez-8b9e4eeead8717974d34839c7b32cf9324b860db.tar.bz2 cvez-8b9e4eeead8717974d34839c7b32cf9324b860db.zip |
feed: add MarshalJSON for several types
-rw-r--r-- | feed/cveid.go | 5 | ||||
-rw-r--r-- | feed/score.go | 10 | ||||
-rw-r--r-- | feed/severity.go | 5 |
3 files changed, 20 insertions, 0 deletions
diff --git a/feed/cveid.go b/feed/cveid.go index 5e43ad3..d7d9a32 100644 --- a/feed/cveid.go +++ b/feed/cveid.go @@ -75,6 +75,11 @@ func NewCveId(s string) (CveId, error) { return CveId(encodeCveId(year, num)), nil } +// Marshal CVE ID to JSON. +func (me CveId) MarshalJSON() ([]byte, error) { + return json.Marshal(me.String()) +} + // Unmarshal CVE ID from JSON. func (me *CveId) UnmarshalJSON(b []byte) error { // decode string, check for error diff --git a/feed/score.go b/feed/score.go index 9a03c50..30bb398 100644 --- a/feed/score.go +++ b/feed/score.go @@ -44,3 +44,13 @@ func (me Score) String() string { val := float64(me) / 10.0 return strconv.FormatFloat(val, 'f', 1, 64) } + +// Return floating point representation of score. +func (s Score) Float() float32 { + return float32(s) / 10.0 +} + +// Marshal score as JSON. +func (s Score) MarshalJSON() ([]byte, error) { + return json.Marshal(s.Float()) +} diff --git a/feed/severity.go b/feed/severity.go index 50969ed..694b469 100644 --- a/feed/severity.go +++ b/feed/severity.go @@ -45,3 +45,8 @@ func (me *Severity) UnmarshalJSON(b []byte) error { // return success return nil } + +// Marshal CVSS severity as JSON. +func (me Severity) MarshalJSON() ([]byte, error) { + return json.Marshal(me.String()) +} |