github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/control/controldisplay/severity.go (about)

     1  package controldisplay
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  
     7  	"github.com/turbot/go-kit/helpers"
     8  )
     9  
    10  const severityMaxLen = len("CRITICAL")
    11  
    12  type SeverityRenderer struct {
    13  	severity string
    14  }
    15  
    16  func NewSeverityRenderer(severity string) *SeverityRenderer {
    17  	return &SeverityRenderer{
    18  		strings.ToUpper(severity),
    19  	}
    20  }
    21  
    22  // Render returns ther severity oin upper case, got 'critical' and 'high' severities
    23  // for all other values an empty string is returned
    24  // NOTE: adds a trailing space
    25  func (r SeverityRenderer) Render() string {
    26  	if helpers.StringSliceContains([]string{"CRITICAL", "HIGH"}, r.severity) {
    27  		return fmt.Sprintf("%s ", ControlColors.Severity(r.severity))
    28  	}
    29  	return ""
    30  }