package feed //go:generate stringer -linecomment -type=V2Authentication import ( "encoding/json" "fmt" ) // CVSS v2 authentication type V2Authentication byte const ( V2AuthNone V2Authentication = iota // NONE V2AuthSingle // SINGLE V2AuthMultiple // MULTIPLE ) // Unmarshal CVSS V2 authentication from JSON. func (me *V2Authentication) 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 = V2AuthNone case "SINGLE": *me = V2AuthSingle case "MULTIPLE": *me = V2AuthMultiple default: // return error return fmt.Errorf("unknown CVSS v2 authentication: %s", s) } // return success return nil }