diff options
| author | sinner <[email protected]> | 2026-04-15 15:16:02 -0400 |
|---|---|---|
| committer | sinner <[email protected]> | 2026-04-15 15:16:02 -0400 |
| commit | a5f907854f29e1c267ad30d1dfe85c2c47f5ac48 (patch) | |
| tree | bc8685c3b22e6d5d47702ba0607c694f938ba7fd /cmd/moon.go | |
| parent | 8a1cf20dd5014ebe15ced77344902b79dcfa2e66 (diff) | |
| download | dborg-1.1.1.tar.gz dborg-1.1.1.zip | |
Diffstat (limited to 'cmd/moon.go')
| -rw-r--r-- | cmd/moon.go | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/cmd/moon.go b/cmd/moon.go index 931f64c..f749435 100644 --- a/cmd/moon.go +++ b/cmd/moon.go @@ -13,7 +13,7 @@ var moonCmd = &cobra.Command{ Aliases: []string{"mn"}, Short: "Search moon logs", Long: `Search moon logs with various filters. Requires admin API key.`, - Args: cobra.ExactArgs(1), + Args: argsOrStdin(1), RunE: runMoon, } @@ -36,40 +36,46 @@ func runMoon(cmd *cobra.Command, args []string) error { return err } - params := &models.MoonParams{ - Query: args[0], - } - params.Filename, _ = cmd.Flags().GetString("filename") - params.MaxHits, _ = cmd.Flags().GetInt("max_hits") + filename, _ := cmd.Flags().GetString("filename") + maxHits, _ := cmd.Flags().GetInt("max_hits") sortBy, _ := cmd.Flags().GetString("sort_by") if sortBy != "" && sortBy != "ingest_timestamp" && sortBy != "date_posted" { return fmt.Errorf("invalid sort_by value: must be 'ingest_timestamp' or 'date_posted'") } - params.SortBy = sortBy - params.IngestStartDate, _ = cmd.Flags().GetString("ingest_start_date") - params.IngestEndDate, _ = cmd.Flags().GetString("ingest_end_date") - params.PostedStartDate, _ = cmd.Flags().GetString("posted_start_date") - params.PostedEndDate, _ = cmd.Flags().GetString("posted_end_date") - params.Format, _ = cmd.Flags().GetString("format") + ingestStart, _ := cmd.Flags().GetString("ingest_start_date") + ingestEnd, _ := cmd.Flags().GetString("ingest_end_date") + postedStart, _ := cmd.Flags().GetString("posted_start_date") + postedEnd, _ := cmd.Flags().GetString("posted_end_date") + format, _ := cmd.Flags().GetString("format") - response, err := c.SearchMoonLogs(params) - if err != nil { - return err - } - - if err := checkError(response.Error); err != nil { - return err - } - - if params.Format != "json" { - fmt.Println(response.Message) + return forEachQuery(args, func(query string) error { + params := &models.MoonParams{ + Query: query, + Filename: filename, + MaxHits: maxHits, + SortBy: sortBy, + IngestStartDate: ingestStart, + IngestEndDate: ingestEnd, + PostedStartDate: postedStart, + PostedEndDate: postedEnd, + Format: format, + } + response, err := c.SearchMoonLogs(params) + if err != nil { + return err + } + if err := checkError(response.Error); err != nil { + return err + } + if params.Format != "json" { + fmt.Println(response.Message) + return nil + } + output, err := formatter.FormatMoonResults(response, IsJSONOutput()) + if err != nil { + return err + } + printOutput(output) return nil - } - - output, err := formatter.FormatMoonResults(response, IsJSONOutput()) - if err != nil { - return err - } - printOutput(output) - return nil + }) } |
