feat: add computed .parent field to JSON output for convenience (bd-qket)
Simplifies querying parent ID from: bd show <id> --json | jq '.[0].dependencies[] | select(.dependency_type == "parent-child") | .id' To: bd show <id> --json | jq '.[0].parent' 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,7 @@ var showCmd = &cobra.Command{
|
|||||||
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
||||||
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
||||||
Comments []*types.Comment `json:"comments,omitempty"`
|
Comments []*types.Comment `json:"comments,omitempty"`
|
||||||
|
Parent *string `json:"parent,omitempty"`
|
||||||
}
|
}
|
||||||
details := &IssueDetails{Issue: issue}
|
details := &IssueDetails{Issue: issue}
|
||||||
details.Labels, _ = issueStore.GetLabels(ctx, issue.ID)
|
details.Labels, _ = issueStore.GetLabels(ctx, issue.ID)
|
||||||
@@ -120,6 +121,13 @@ var showCmd = &cobra.Command{
|
|||||||
details.Dependents, _ = sqliteStore.GetDependentsWithMetadata(ctx, issue.ID)
|
details.Dependents, _ = sqliteStore.GetDependentsWithMetadata(ctx, issue.ID)
|
||||||
}
|
}
|
||||||
details.Comments, _ = issueStore.GetIssueComments(ctx, issue.ID)
|
details.Comments, _ = issueStore.GetIssueComments(ctx, issue.ID)
|
||||||
|
// Compute parent from dependencies (bd-qket)
|
||||||
|
for _, dep := range details.Dependencies {
|
||||||
|
if dep.DependencyType == types.DepParentChild {
|
||||||
|
details.Parent = &dep.ID
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
allDetails = append(allDetails, details)
|
allDetails = append(allDetails, details)
|
||||||
} else {
|
} else {
|
||||||
if displayIdx > 0 {
|
if displayIdx > 0 {
|
||||||
@@ -154,9 +162,17 @@ var showCmd = &cobra.Command{
|
|||||||
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
||||||
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
||||||
Comments []*types.Comment `json:"comments,omitempty"`
|
Comments []*types.Comment `json:"comments,omitempty"`
|
||||||
|
Parent *string `json:"parent,omitempty"`
|
||||||
}
|
}
|
||||||
var details IssueDetails
|
var details IssueDetails
|
||||||
if err := json.Unmarshal(resp.Data, &details); err == nil {
|
if err := json.Unmarshal(resp.Data, &details); err == nil {
|
||||||
|
// Compute parent from dependencies (bd-qket)
|
||||||
|
for _, dep := range details.Dependencies {
|
||||||
|
if dep.DependencyType == types.DepParentChild {
|
||||||
|
details.Parent = &dep.ID
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
allDetails = append(allDetails, details)
|
allDetails = append(allDetails, details)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -359,6 +375,7 @@ var showCmd = &cobra.Command{
|
|||||||
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
Dependencies []*types.IssueWithDependencyMetadata `json:"dependencies,omitempty"`
|
||||||
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
Dependents []*types.IssueWithDependencyMetadata `json:"dependents,omitempty"`
|
||||||
Comments []*types.Comment `json:"comments,omitempty"`
|
Comments []*types.Comment `json:"comments,omitempty"`
|
||||||
|
Parent *string `json:"parent,omitempty"`
|
||||||
}
|
}
|
||||||
details := &IssueDetails{Issue: issue}
|
details := &IssueDetails{Issue: issue}
|
||||||
details.Labels, _ = issueStore.GetLabels(ctx, issue.ID)
|
details.Labels, _ = issueStore.GetLabels(ctx, issue.ID)
|
||||||
@@ -380,6 +397,13 @@ var showCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
details.Comments, _ = issueStore.GetIssueComments(ctx, issue.ID)
|
details.Comments, _ = issueStore.GetIssueComments(ctx, issue.ID)
|
||||||
|
// Compute parent from dependencies (bd-qket)
|
||||||
|
for _, dep := range details.Dependencies {
|
||||||
|
if dep.DependencyType == types.DepParentChild {
|
||||||
|
details.Parent = &dep.ID
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
allDetails = append(allDetails, details)
|
allDetails = append(allDetails, details)
|
||||||
result.Close() // Close before continuing to next iteration
|
result.Close() // Close before continuing to next iteration
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user