Skip to content

Commit 6a4c365

Browse files
committed
fix: Omit label host counts when API token lacks visibility
1 parent 071928c commit 6a4c365

1 file changed

Lines changed: 20 additions & 6 deletions

File tree

internal/output/markdown.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,23 @@ func collectFootnotes(results []diff.DiffResult) []string {
201201
}
202202

203203
func renderLabelsMarkdown(results []diff.DiffResult) string {
204-
validSeen := make(map[string]string)
204+
type labelEntry struct {
205+
Name string
206+
HostCount uint
207+
}
208+
var validLabels []labelEntry
209+
validSeen := make(map[string]bool)
205210
missingSeen := make(map[string]string)
211+
anyNonZero := false
206212

207213
for _, result := range results {
208214
for _, l := range result.Labels.Valid {
209-
if _, ok := validSeen[l.Name]; !ok {
210-
validSeen[l.Name] = fmt.Sprintf("- ✅ `%s` (%d hosts)\n", l.Name, l.HostCount)
215+
if !validSeen[l.Name] {
216+
validSeen[l.Name] = true
217+
validLabels = append(validLabels, labelEntry{l.Name, l.HostCount})
218+
if l.HostCount > 0 {
219+
anyNonZero = true
220+
}
211221
}
212222
}
213223
for _, l := range result.Labels.Missing {
@@ -217,13 +227,17 @@ func renderLabelsMarkdown(results []diff.DiffResult) string {
217227
}
218228
}
219229

220-
if len(validSeen) == 0 && len(missingSeen) == 0 {
230+
if len(validLabels) == 0 && len(missingSeen) == 0 {
221231
return ""
222232
}
223233

224234
var sb strings.Builder
225-
for _, line := range validSeen {
226-
sb.WriteString(line)
235+
for _, l := range validLabels {
236+
if anyNonZero {
237+
sb.WriteString(fmt.Sprintf("- ✅ `%s` (%d hosts)\n", l.Name, l.HostCount))
238+
} else {
239+
sb.WriteString(fmt.Sprintf("- ✅ `%s`\n", l.Name))
240+
}
227241
}
228242
for _, line := range missingSeen {
229243
sb.WriteString(line)

0 commit comments

Comments
 (0)