Skip to content

Commit 2559a34

Browse files
ethantkoeniglunny
authored andcommitted
Load label ID in NewLabels (#2045)
1 parent f64c232 commit 2559a34

File tree

4 files changed

+25
-6
lines changed

4 files changed

+25
-6
lines changed

models/issue_label.go

+22-3
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,31 @@ func (label *Label) ForegroundColor() template.CSS {
9696
return template.CSS("#000")
9797
}
9898

99-
// NewLabels creates new label(s) for a repository.
100-
func NewLabels(labels ...*Label) error {
101-
_, err := x.Insert(labels)
99+
func newLabel(e Engine, label *Label) error {
100+
_, err := e.Insert(label)
102101
return err
103102
}
104103

104+
// NewLabel creates a new label for a repository
105+
func NewLabel(label *Label) error {
106+
return newLabel(x, label)
107+
}
108+
109+
// NewLabels creates new labels for a repository.
110+
func NewLabels(labels ...*Label) error {
111+
sess := x.NewSession()
112+
defer sess.Close()
113+
if err := sess.Begin(); err != nil {
114+
return err
115+
}
116+
for _, label := range labels {
117+
if err := newLabel(sess, label); err != nil {
118+
return err
119+
}
120+
}
121+
return sess.Commit()
122+
}
123+
105124
// getLabelInRepoByName returns a label by Name in given repository.
106125
// If pass repoID as 0, then ORM will ignore limitation of repository
107126
// and can return arbitrary label with any valid ID.

models/issue_label_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestNewLabels(t *testing.T) {
5252
}
5353
assert.NoError(t, NewLabels(labels...))
5454
for _, label := range labels {
55-
AssertExistsAndLoadBean(t, label)
55+
AssertExistsAndLoadBean(t, label, Cond("id = ?", label.ID))
5656
}
5757
CheckConsistencyFor(t, &Label{}, &Repository{})
5858
}

routers/api/v1/repo/label.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
6464
Color: form.Color,
6565
RepoID: ctx.Repo.Repository.ID,
6666
}
67-
if err := models.NewLabels(label); err != nil {
67+
if err := models.NewLabel(label); err != nil {
6868
ctx.Error(500, "NewLabel", err)
6969
return
7070
}

routers/repo/issue_label.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func NewLabel(ctx *context.Context, form auth.CreateLabelForm) {
8989
Name: form.Title,
9090
Color: form.Color,
9191
}
92-
if err := models.NewLabels(l); err != nil {
92+
if err := models.NewLabel(l); err != nil {
9393
ctx.Handle(500, "NewLabel", err)
9494
return
9595
}

0 commit comments

Comments
 (0)