Skip to content

Commit 266e491

Browse files
fix wording in logs command (#292)
1 parent d5da33c commit 266e491

File tree

3 files changed

+39
-43
lines changed

3 files changed

+39
-43
lines changed

internal/commands/root.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,13 @@ func addResultFormatFlag(cmd *cobra.Command, defaultFormat string, otherAvailabl
175175
fmt.Sprintf(params.FormatFlagUsageFormat, append(otherAvailableFormats, defaultFormat)))
176176
}
177177

178+
func markFlagAsRequired(cmd *cobra.Command, flag string) {
179+
err := cmd.MarkPersistentFlagRequired(flag)
180+
if err != nil {
181+
log.Fatal(err)
182+
}
183+
}
184+
178185
func addScanIDFlag(cmd *cobra.Command, helpMsg string) {
179186
cmd.PersistentFlags().String(params.ScanIDFlag, "", helpMsg)
180187
}

internal/commands/scan.go

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func NewScanCommand(
9292

9393
tagsCmd := scanTagsSubCommand(scansWrapper)
9494

95-
logsCmd := util.NewLogsCommand(logsWraper)
95+
logsCmd := scanLogsSubCommand(logsWraper)
9696

9797
addFormatFlagToMultipleCommands(
9898
[]*cobra.Command{listScansCmd, showScanCmd, workflowScanCmd},
@@ -106,6 +106,24 @@ func NewScanCommand(
106106
return scanCmd
107107
}
108108

109+
func scanLogsSubCommand(logsWrapper wrappers.LogsWrapper) *cobra.Command {
110+
logsCmd := &cobra.Command{
111+
Use: "logs",
112+
Short: "Download scan log for selected scan type",
113+
Long: "Accepts a scan-id and scan type (sast, kics or sca) and downloads the related scan log",
114+
Example: heredoc.Doc(`
115+
$ cx scan logs --scan-id <scan Id> --scan-type <sast | sca | kics>
116+
`),
117+
RunE: runDownloadLogs(logsWrapper),
118+
}
119+
logsCmd.PersistentFlags().String(commonParams.ScanIDFlag, "", "Scan ID to retrieve log for.")
120+
logsCmd.PersistentFlags().String(commonParams.ScanTypeFlag, "", "Scan type to pull log for, ex: sast, kics or sca.")
121+
markFlagAsRequired(logsCmd, commonParams.ScanIDFlag)
122+
markFlagAsRequired(logsCmd, commonParams.ScanTypeFlag)
123+
124+
return logsCmd
125+
}
126+
109127
func scanTagsSubCommand(scansWrapper wrappers.ScansWrapper) *cobra.Command {
110128
tagsCmd := &cobra.Command{
111129
Use: "tags",
@@ -1089,6 +1107,19 @@ func runGetTagsCommand(scansWrapper wrappers.ScansWrapper) func(cmd *cobra.Comma
10891107
}
10901108
}
10911109

1110+
func runDownloadLogs(logsWrapper wrappers.LogsWrapper) func(*cobra.Command, []string) error {
1111+
return func(cmd *cobra.Command, _ []string) error {
1112+
scanID, _ := cmd.Flags().GetString(commonParams.ScanIDFlag)
1113+
scanType, _ := cmd.Flags().GetString(commonParams.ScanTypeFlag)
1114+
logText, err := logsWrapper.GetLog(scanID, scanType)
1115+
if err != nil {
1116+
return err
1117+
}
1118+
fmt.Print(logText)
1119+
return nil
1120+
}
1121+
}
1122+
10921123
type scanView struct {
10931124
ID string `format:"name:Scan ID"`
10941125
ProjectID string `format:"name:Project ID"`

internal/commands/util/logs.go

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)