appview/gfi: render gfi label when there isn't any matching issues #702

merged
opened by boltless.me targeting master from sandboxed-atmosphere

although it might not happen, the appview should be able to handle when there is no single issue with good-first-issue label

Signed-off-by: Seongmin Lee git@boltless.me

Changed files
+9 -1
appview
state
+9 -1
appview/state/gfi.go
···
goodFirstIssueLabel := fmt.Sprintf("at://%s/%s/%s", consts.TangledDid, tangled.LabelDefinitionNSID, "good-first-issue")
repoLabels, err := db.GetRepoLabels(s.db, db.FilterEq("label_at", goodFirstIssueLabel))
if err != nil {
log.Println("failed to get repo labels", err)
···
RepoGroups: []*models.RepoGroup{},
LabelDefs: make(map[string]*models.LabelDefinition),
Page: page,
})
return
}
···
RepoGroups: paginatedGroups,
LabelDefs: labelDefsMap,
Page: page,
-
GfiLabel: labelDefsMap[goodFirstIssueLabel],
})
}
···
goodFirstIssueLabel := fmt.Sprintf("at://%s/%s/%s", consts.TangledDid, tangled.LabelDefinitionNSID, "good-first-issue")
+
gfiLabelDef, err := db.GetLabelDefinition(s.db, db.FilterEq("at_uri", goodFirstIssueLabel))
+
if err != nil {
+
log.Println("failed to get gfi label def", err)
+
s.pages.Error503(w)
+
return
+
}
+
repoLabels, err := db.GetRepoLabels(s.db, db.FilterEq("label_at", goodFirstIssueLabel))
if err != nil {
log.Println("failed to get repo labels", err)
···
RepoGroups: []*models.RepoGroup{},
LabelDefs: make(map[string]*models.LabelDefinition),
Page: page,
+
GfiLabel: gfiLabelDef,
})
return
}
···
RepoGroups: paginatedGroups,
LabelDefs: labelDefsMap,
Page: page,
+
GfiLabel: gfiLabelDef,
})
}