1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Move attachment into models/repo/ (#17650)

* Move attachment into models/repo/

* Fix test

* Fix bug
This commit is contained in:
Lunny Xiao
2021-11-19 21:39:57 +08:00
committed by GitHub
parent 7a03473159
commit fc3d082609
39 changed files with 477 additions and 414 deletions

View File

@@ -663,7 +663,8 @@ func HasIssueLabel(issueID, labelID int64) bool {
// newIssueLabel this function creates a new label it does not check if the label is valid for the issue
// YOU MUST CHECK THIS BEFORE THIS FUNCTION
func newIssueLabel(e db.Engine, issue *Issue, label *Label, doer *User) (err error) {
func newIssueLabel(ctx context.Context, issue *Issue, label *Label, doer *User) (err error) {
e := db.GetEngine(ctx)
if _, err = e.Insert(&IssueLabel{
IssueID: issue.ID,
LabelID: label.ID,
@@ -683,7 +684,7 @@ func newIssueLabel(e db.Engine, issue *Issue, label *Label, doer *User) (err err
Label: label,
Content: "1",
}
if _, err = createComment(e, opts); err != nil {
if _, err = createComment(ctx, opts); err != nil {
return err
}
@@ -696,11 +697,12 @@ func NewIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
return nil
}
sess := db.NewSession(db.DefaultContext)
defer sess.Close()
if err = sess.Begin(); err != nil {
ctx, committer, err := db.TxContext()
if err != nil {
return err
}
defer committer.Close()
sess := db.GetEngine(ctx)
if err = issue.loadRepo(sess); err != nil {
return err
@@ -711,7 +713,7 @@ func NewIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
return nil
}
if err = newIssueLabel(sess, issue, label, doer); err != nil {
if err = newIssueLabel(ctx, issue, label, doer); err != nil {
return err
}
@@ -720,11 +722,12 @@ func NewIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
return err
}
return sess.Commit()
return committer.Commit()
}
// newIssueLabels add labels to an issue. It will check if the labels are valid for the issue
func newIssueLabels(e db.Engine, issue *Issue, labels []*Label, doer *User) (err error) {
func newIssueLabels(ctx context.Context, issue *Issue, labels []*Label, doer *User) (err error) {
e := db.GetEngine(ctx)
if err = issue.loadRepo(e); err != nil {
return err
}
@@ -735,7 +738,7 @@ func newIssueLabels(e db.Engine, issue *Issue, labels []*Label, doer *User) (err
continue
}
if err = newIssueLabel(e, issue, label, doer); err != nil {
if err = newIssueLabel(ctx, issue, label, doer); err != nil {
return fmt.Errorf("newIssueLabel: %v", err)
}
}
@@ -751,7 +754,7 @@ func NewIssueLabels(issue *Issue, labels []*Label, doer *User) (err error) {
}
defer committer.Close()
if err = newIssueLabels(db.GetEngine(ctx), issue, labels, doer); err != nil {
if err = newIssueLabels(ctx, issue, labels, doer); err != nil {
return err
}
@@ -763,7 +766,8 @@ func NewIssueLabels(issue *Issue, labels []*Label, doer *User) (err error) {
return committer.Commit()
}
func deleteIssueLabel(e db.Engine, issue *Issue, label *Label, doer *User) (err error) {
func deleteIssueLabel(ctx context.Context, issue *Issue, label *Label, doer *User) (err error) {
e := db.GetEngine(ctx)
if count, err := e.Delete(&IssueLabel{
IssueID: issue.ID,
LabelID: label.ID,
@@ -784,7 +788,7 @@ func deleteIssueLabel(e db.Engine, issue *Issue, label *Label, doer *User) (err
Issue: issue,
Label: label,
}
if _, err = createComment(e, opts); err != nil {
if _, err = createComment(ctx, opts); err != nil {
return err
}
@@ -793,22 +797,22 @@ func deleteIssueLabel(e db.Engine, issue *Issue, label *Label, doer *User) (err
// DeleteIssueLabel deletes issue-label relation.
func DeleteIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
sess := db.NewSession(db.DefaultContext)
defer sess.Close()
if err = sess.Begin(); err != nil {
ctx, committer, err := db.TxContext()
if err != nil {
return err
}
defer committer.Close()
if err = deleteIssueLabel(sess, issue, label, doer); err != nil {
if err = deleteIssueLabel(ctx, issue, label, doer); err != nil {
return err
}
issue.Labels = nil
if err = issue.loadLabels(sess); err != nil {
if err = issue.loadLabels(db.GetEngine(ctx)); err != nil {
return err
}
return sess.Commit()
return committer.Commit()
}
func deleteLabelsByRepoID(sess db.Engine, repoID int64) error {