aboutsummaryrefslogtreecommitdiffstats
path: root/models/issue_label.go
diff options
context:
space:
mode:
authorLanre Adelowo <adelowomailbox@gmail.com>2019-02-04 16:20:44 +0100
committertechknowlogick <matti@mdranta.net>2019-02-04 10:20:44 -0500
commit024871ade60c619302430a2852018dcbd1b35b79 (patch)
treed8a78311e8c40b063ef63424786bcbd2e00ef205 /models/issue_label.go
parentf21ae12abb2529ea6e8ab113706f11d848c74f65 (diff)
downloadgitea-024871ade60c619302430a2852018dcbd1b35b79.tar.gz
gitea-024871ade60c619302430a2852018dcbd1b35b79.zip
Add label names as filter in issue search api (#5946)
Diffstat (limited to 'models/issue_label.go')
-rw-r--r--models/issue_label.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/models/issue_label.go b/models/issue_label.go
index 6adb4eedcb..3c593e72f9 100644
--- a/models/issue_label.go
+++ b/models/issue_label.go
@@ -203,13 +203,26 @@ func GetLabelInRepoByName(repoID int64, labelName string) (*Label, error) {
return getLabelInRepoByName(x, repoID, labelName)
}
+// GetLabelIDsInRepoByNames returns a list of labelIDs by names in a given
+// repository.
+// it silently ignores label names that do not belong to the repository.
+func GetLabelIDsInRepoByNames(repoID int64, labelNames []string) ([]int64, error) {
+ labelIDs := make([]int64, 0, len(labelNames))
+ return labelIDs, x.Table("label").
+ Where("repo_id = ?", repoID).
+ In("name", labelNames).
+ Asc("name").
+ Cols("id").
+ Find(&labelIDs)
+}
+
// GetLabelInRepoByID returns a label by ID in given repository.
func GetLabelInRepoByID(repoID, labelID int64) (*Label, error) {
return getLabelInRepoByID(x, repoID, labelID)
}
// GetLabelsInRepoByIDs returns a list of labels by IDs in given repository,
-// it silently ignores label IDs that are not belong to the repository.
+// it silently ignores label IDs that do not belong to the repository.
func GetLabelsInRepoByIDs(repoID int64, labelIDs []int64) ([]*Label, error) {
labels := make([]*Label, 0, len(labelIDs))
return labels, x.