package feed //go:generate stringer -linecomment -type=V3PrivilegesRequired import ( "encoding/json" "fmt" ) // CVSS v3 privileges required. type V3PrivilegesRequired byte const ( V3PRNone V3PrivilegesRequired = iota // NONE V3PRLow // LOW V3PRMedium // MEDIUM V3PRHigh // HIGH ) // Unmarshal CVSS privileges required from JSON. func (me *V3PrivilegesRequired) UnmarshalJSON(b []byte) error { // decode string, check for error var s string if err := json.Unmarshal(b, &s); err != nil { return err } // check value switch s { case "NONE": *me = V3PRNone case "LOW": *me = V3PRLow case "MEDIUM": *me = V3PRMedium case "HIGH": *me = V3PRHigh default: // return error return fmt.Errorf("unknown CVSS v3 privileges required: %s", s) } // return success return nil }