fix: code review fixes for Transaction API and Search (epic bd-8bq)
- Add safe type assertions in applyUpdatesToIssue (bd-4gs) - Add --sort and --reverse flags to bd search (bd-4f6) - Add test cases for SearchIssues priority range, date range, IDs (bd-ew5) - Handle errors from GetLabelsForIssues in search.go (bd-lce) - Standardize error wrapping to fmt.Errorf pattern (bd-7kl) - Extract shared scanIssueRow helper function (bd-ajf) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,9 @@ Examples:
|
||||
bd search "bd-5q" # Search by partial ID
|
||||
bd search "security" --priority-min 0 --priority-max 2
|
||||
bd search "bug" --created-after 2025-01-01
|
||||
bd search "refactor" --updated-after 2025-01-01 --priority-min 1`,
|
||||
bd search "refactor" --updated-after 2025-01-01 --priority-min 1
|
||||
bd search "bug" --sort priority
|
||||
bd search "task" --sort created --reverse`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
// Get query from args or --query flag
|
||||
queryFlag, _ := cmd.Flags().GetString("query")
|
||||
@@ -70,6 +72,10 @@ Examples:
|
||||
priorityMinStr, _ := cmd.Flags().GetString("priority-min")
|
||||
priorityMaxStr, _ := cmd.Flags().GetString("priority-max")
|
||||
|
||||
// Sort flags
|
||||
sortBy, _ := cmd.Flags().GetString("sort")
|
||||
reverse, _ := cmd.Flags().GetBool("reverse")
|
||||
|
||||
// Normalize labels
|
||||
labels = util.NormalizeLabels(labels)
|
||||
labelsAny = util.NormalizeLabels(labelsAny)
|
||||
@@ -279,8 +285,16 @@ Examples:
|
||||
for i, issue := range issues {
|
||||
issueIDs[i] = issue.ID
|
||||
}
|
||||
labelsMap, _ := store.GetLabelsForIssues(ctx, issueIDs)
|
||||
depCounts, _ := store.GetDependencyCounts(ctx, issueIDs)
|
||||
labelsMap, err := store.GetLabelsForIssues(ctx, issueIDs)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Warning: failed to get labels: %v\n", err)
|
||||
labelsMap = make(map[string][]string)
|
||||
}
|
||||
depCounts, err := store.GetDependencyCounts(ctx, issueIDs)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Warning: failed to get dependency counts: %v\n", err)
|
||||
depCounts = make(map[string]*types.DependencyCounts)
|
||||
}
|
||||
|
||||
// Populate labels
|
||||
for _, issue := range issues {
|
||||
@@ -382,5 +396,9 @@ func init() {
|
||||
searchCmd.Flags().String("priority-min", "", "Filter by minimum priority (inclusive, 0-4 or P0-P4)")
|
||||
searchCmd.Flags().String("priority-max", "", "Filter by maximum priority (inclusive, 0-4 or P0-P4)")
|
||||
|
||||
// Sort flags
|
||||
searchCmd.Flags().String("sort", "", "Sort by field: priority, created, updated, closed, status, id, title, type, assignee")
|
||||
searchCmd.Flags().BoolP("reverse", "r", false, "Reverse sort order")
|
||||
|
||||
rootCmd.AddCommand(searchCmd)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user