more context for models (#19511)

make more usage of context, to have more db transaction in one session

(make diff of  #9307 smaller)
This commit is contained in:
6543 2022-04-28 13:48:48 +02:00 committed by GitHub
parent 332b2ecd21
commit 06e4687cec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 275 additions and 245 deletions

View file

@ -44,11 +44,17 @@ func AddLabels(issue *models.Issue, doer *user_model.User, labels []*models.Labe
// RemoveLabel removes a label from issue by given ID.
func RemoveLabel(issue *models.Issue, doer *user_model.User, label *models.Label) error {
if err := issue.LoadRepo(db.DefaultContext); err != nil {
ctx, committer, err := db.TxContext()
if err != nil {
return err
}
defer committer.Close()
if err := issue.LoadRepo(ctx); err != nil {
return err
}
perm, err := models.GetUserRepoPermission(issue.Repo, doer)
perm, err := models.GetUserRepoPermission(ctx, issue.Repo, doer)
if err != nil {
return err
}
@ -59,7 +65,11 @@ func RemoveLabel(issue *models.Issue, doer *user_model.User, label *models.Label
return models.ErrRepoLabelNotExist{}
}
if err := models.DeleteIssueLabel(issue, label, doer); err != nil {
if err := models.DeleteIssueLabel(ctx, issue, label, doer); err != nil {
return err
}
if err := committer.Commit(); err != nil {
return err
}