2021-03-08 06:48:03 -05:00
|
|
|
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package task
|
|
|
|
|
|
|
|
import (
|
|
|
|
"code.gitea.io/sdk/gitea"
|
|
|
|
"code.gitea.io/tea/modules/utils"
|
|
|
|
)
|
|
|
|
|
|
|
|
// ResolveLabelNames returns a list of label IDs for a given list of label names
|
|
|
|
func ResolveLabelNames(client *gitea.Client, owner, repo string, labelNames []string) ([]int64, error) {
|
2022-10-24 20:40:00 -04:00
|
|
|
labelIDs := make([]int64, 0, len(labelNames))
|
2022-04-07 15:44:16 -04:00
|
|
|
labels, _, err := client.ListRepoLabels(owner, repo, gitea.ListLabelsOptions{
|
|
|
|
ListOptions: gitea.ListOptions{Page: -1},
|
|
|
|
})
|
2021-03-08 06:48:03 -05:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
for _, l := range labels {
|
|
|
|
if utils.Contains(labelNames, l.Name) {
|
|
|
|
labelIDs = append(labelIDs, l.ID)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return labelIDs, nil
|
|
|
|
}
|