forked from forgejo/forgejo
Add generic set type (#21408)
This PR adds a generic set type to get rid of maps used as sets. Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
parent
e84558b093
commit
0e57ff7eee
41 changed files with 328 additions and 324 deletions
|
@ -30,6 +30,7 @@ import (
|
|||
"code.gitea.io/gitea/models/unit"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/base"
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
"code.gitea.io/gitea/modules/context"
|
||||
"code.gitea.io/gitea/modules/convert"
|
||||
"code.gitea.io/gitea/modules/git"
|
||||
|
@ -947,10 +948,11 @@ func ValidateRepoMetas(ctx *context.Context, form forms.CreateIssueForm, isPull
|
|||
if err != nil {
|
||||
return nil, nil, 0, 0
|
||||
}
|
||||
labelIDMark := base.Int64sToMap(labelIDs)
|
||||
labelIDMark := make(container.Set[int64])
|
||||
labelIDMark.AddMultiple(labelIDs...)
|
||||
|
||||
for i := range labels {
|
||||
if labelIDMark[labels[i].ID] {
|
||||
if labelIDMark.Contains(labels[i].ID) {
|
||||
labels[i].IsChecked = true
|
||||
hasSelected = true
|
||||
}
|
||||
|
@ -1293,9 +1295,9 @@ func ViewIssue(ctx *context.Context) {
|
|||
|
||||
// Metas.
|
||||
// Check labels.
|
||||
labelIDMark := make(map[int64]bool)
|
||||
for i := range issue.Labels {
|
||||
labelIDMark[issue.Labels[i].ID] = true
|
||||
labelIDMark := make(container.Set[int64])
|
||||
for _, label := range issue.Labels {
|
||||
labelIDMark.Add(label.ID)
|
||||
}
|
||||
labels, err := issues_model.GetLabelsByRepoID(ctx, repo.ID, "", db.ListOptions{})
|
||||
if err != nil {
|
||||
|
@ -1317,7 +1319,7 @@ func ViewIssue(ctx *context.Context) {
|
|||
|
||||
hasSelected := false
|
||||
for i := range labels {
|
||||
if labelIDMark[labels[i].ID] {
|
||||
if labelIDMark.Contains(labels[i].ID) {
|
||||
labels[i].IsChecked = true
|
||||
hasSelected = true
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue