Drop reset-enriched flag and add description filter
The --reset-enriched flag was effectively a no-op: the enrichment worker claims rows solely on enrichment_requested_at, and SetEnriched rewrites enriched_at regardless, so clearing it never changed whether a row was re-processed. Remove the flag and the resetEnriched parameter on RequestEnrichmentByIDs, which now only stamps enrichment_requested_at. Add a --without-description filter to the list and reenrich commands, backed by a new described predicate on CommonTrackerPatternFilter, so an operator can target catalog rows that still lack a description. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -37,6 +37,7 @@ func newCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
flagKeyword string
|
||||
flagState string
|
||||
flagWithCommonThirdParty bool
|
||||
flagWithoutDescription bool
|
||||
flagSort string
|
||||
flagOrder string
|
||||
flagLimit int
|
||||
@@ -58,6 +59,7 @@ func newCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
cmd.Flags().StringVar(&flagKeyword, "keyword", "", "Filter by pattern/description substring")
|
||||
cmd.Flags().StringVar(&flagState, "state", "", "Filter by enrichment state (queued, enriched, unenriched)")
|
||||
cmd.Flags().BoolVar(&flagWithCommonThirdParty, "with-common-third-party", false, "Filter by whether the pattern is linked to a common third party (true/false); ignored when not set")
|
||||
cmd.Flags().BoolVar(&flagWithoutDescription, "without-description", false, "Only patterns with a blank description")
|
||||
cmd.Flags().StringVar(&flagSort, "sort", "confidence", "Sort field: pattern, confidence, created, updated, enriched")
|
||||
cmd.Flags().StringVar(&flagOrder, "order", "", "Sort order: asc, desc (default depends on field)")
|
||||
cmd.Flags().IntVarP(&flagLimit, "limit", "L", 50, "Maximum rows to return (0 for all)")
|
||||
@@ -81,7 +83,12 @@ func newCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
withCommonThirdParty = &flagWithCommonThirdParty
|
||||
}
|
||||
|
||||
filter, err := buildListFilter(flagTrackerType, flagMatchType, flagKeyword, flagState, withCommonThirdParty)
|
||||
var described *bool
|
||||
if flagWithoutDescription {
|
||||
described = new(false)
|
||||
}
|
||||
|
||||
filter, err := buildListFilter(flagTrackerType, flagMatchType, flagKeyword, flagState, withCommonThirdParty, described)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -287,7 +294,7 @@ func parseOrderBy(sort, order string) (page.OrderBy[coredata.CommonTrackerPatter
|
||||
|
||||
func buildListFilter(
|
||||
trackerType, matchType, keyword, state string,
|
||||
withCommonThirdParty *bool,
|
||||
withCommonThirdParty, described *bool,
|
||||
) (*coredata.CommonTrackerPatternFilter, error) {
|
||||
filter := coredata.NewCommonTrackerPatternFilter()
|
||||
|
||||
@@ -326,6 +333,10 @@ func buildListFilter(
|
||||
filter.WithLinked(withCommonThirdParty)
|
||||
}
|
||||
|
||||
if described != nil {
|
||||
filter.WithDescribed(described)
|
||||
}
|
||||
|
||||
return filter, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user