From 81771b7bd7b4b2ad962c9ccd6db87ee56290449f Mon Sep 17 00:00:00 2001 From: JusteenR Date: Sun, 20 Nov 2022 15:42:13 -0800 Subject: [PATCH] Adding frameworks column to control command --- core/cautils/getter/downloadreleasedpolicy.go | 18 +++++++++++++----- core/core/list.go | 8 ++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/core/cautils/getter/downloadreleasedpolicy.go b/core/cautils/getter/downloadreleasedpolicy.go index f7afaadc..d70fbb95 100644 --- a/core/cautils/getter/downloadreleasedpolicy.go +++ b/core/cautils/getter/downloadreleasedpolicy.go @@ -65,12 +65,20 @@ func (drp *DownloadReleasedPolicy) ListControls() ([]string, error) { if err != nil { return []string{}, err } - controlsNamesWithIDsList := make([]string, len(controlsIDsList)) - // by design both slices have the same length - for i := range controlsIDsList { - controlsNamesWithIDsList[i] = fmt.Sprintf("%v|%v", controlsIDsList[i], controlsNamesList[i]) + controls, err := drp.gs.GetOPAControls() + if err != nil { + return []string{}, err } - return controlsNamesWithIDsList, nil + var controlsFrameworksList [][]string + for _, control := range controls { + controlsFrameworksList = append(controlsFrameworksList, control.FrameworkNames) + } + controlsNamesWithIDsandFrameworksList := make([]string, len(controlsIDsList)) + // by design all slices have the same lengt + for i := range controlsIDsList { + controlsNamesWithIDsandFrameworksList[i] = fmt.Sprintf("%v|%v|%v", controlsIDsList[i], controlsNamesList[i], strings.Join(controlsFrameworksList[i], ",")) + } + return controlsNamesWithIDsandFrameworksList, nil } func (drp *DownloadReleasedPolicy) GetControlsInputs(clusterName string) (map[string][]string, error) { diff --git a/core/core/list.go b/core/core/list.go index 31c82b80..e17ecfe3 100644 --- a/core/core/list.go +++ b/core/core/list.go @@ -112,7 +112,7 @@ func jsonListFormat(targetPolicy string, policies []string) { func prettyPrintControls(policies []string) { controlsTable := tablewriter.NewWriter(printer.GetWriter("")) controlsTable.SetAutoWrapText(true) - controlsTable.SetHeader([]string{"Control ID", "Control Name", "Docs"}) + controlsTable.SetHeader([]string{"Control ID", "Control Name", "Docs", "Frameworks"}) controlsTable.SetHeaderLine(true) controlsTable.SetRowLine(true) data := v2.Matrix{} @@ -128,12 +128,12 @@ func generateControlRows(policies []string) [][]string { rows := [][]string{} for _, control := range policies { - idAndControl := strings.Split(control, "|") - id, control := idAndControl[0], idAndControl[1] + idAndControlAndFrameworks := strings.Split(control, "|") + id, control, framework := idAndControlAndFrameworks[0], idAndControlAndFrameworks[1], idAndControlAndFrameworks[2] docs := cautils.GetControlLink(id) - currentRow := []string{id, control, docs} + currentRow := []string{id, control, docs, framework} rows = append(rows, currentRow) }