github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/severity/severity.go (about) 1 package severity 2 3 import ( 4 "strings" 5 ) 6 7 type Severity string 8 9 const ( 10 None Severity = "" 11 Critical Severity = "CRITICAL" 12 High Severity = "HIGH" 13 Medium Severity = "MEDIUM" 14 Low Severity = "LOW" 15 ) 16 17 var ValidSeverity = []Severity{ 18 Critical, High, Medium, Low, 19 } 20 21 func (s *Severity) IsValid() bool { 22 for _, severity := range ValidSeverity { 23 if severity == *s { 24 return true 25 } 26 } 27 return false 28 } 29 30 func (s *Severity) Valid() []Severity { 31 return ValidSeverity 32 } 33 34 func StringToSeverity(sev string) Severity { 35 s := strings.ToUpper(sev) 36 switch s { 37 case "CRITICAL", "HIGH", "MEDIUM", "LOW": 38 return Severity(s) 39 case "ERROR": 40 return High 41 case "WARNING": 42 return Medium 43 case "INFO": 44 return Low 45 default: 46 return None 47 } 48 }