aboutsummaryrefslogtreecommitdiffstats
path: root/services/issue/assignee.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-08-10 10:39:21 +0800
committerGitHub <noreply@github.com>2023-08-10 02:39:21 +0000
commit36eb3c433ae384f21beec63eb648141fb9dba676 (patch)
tree4f8ad47b15981b1f802de9695ec402f8b756cb62 /services/issue/assignee.go
parenta85a8628042c788ce2b372a29ca1cefab544f1ed (diff)
downloadgitea-36eb3c433ae384f21beec63eb648141fb9dba676.tar.gz
gitea-36eb3c433ae384f21beec63eb648141fb9dba676.zip
Add transaction when creating pull request created dirty data (#26259)
Fix #26129 Replace #26258 This PR will introduce a transaction on creating pull request so that if some step failed, it will rollback totally. And there will be no dirty pull request exist. --------- Co-authored-by: Giteabot <teabot@gitea.io>
Diffstat (limited to 'services/issue/assignee.go')
-rw-r--r--services/issue/assignee.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/services/issue/assignee.go b/services/issue/assignee.go
index 8fe35b5602..9b0445d29f 100644
--- a/services/issue/assignee.go
+++ b/services/issue/assignee.go
@@ -33,7 +33,7 @@ func DeleteNotPassedAssignee(ctx context.Context, issue *issues_model.Issue, doe
if !found {
// This function also does comments and hooks, which is why we call it separately instead of directly removing the assignees here
- if _, _, err := ToggleAssignee(ctx, issue, doer, assignee.ID); err != nil {
+ if _, _, err := ToggleAssigneeWithNotify(ctx, issue, doer, assignee.ID); err != nil {
return err
}
}
@@ -42,8 +42,8 @@ func DeleteNotPassedAssignee(ctx context.Context, issue *issues_model.Issue, doe
return nil
}
-// ToggleAssignee changes a user between assigned and not assigned for this issue, and make issue comment for it.
-func ToggleAssignee(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, assigneeID int64) (removed bool, comment *issues_model.Comment, err error) {
+// ToggleAssigneeWithNoNotify changes a user between assigned and not assigned for this issue, and make issue comment for it.
+func ToggleAssigneeWithNotify(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, assigneeID int64) (removed bool, comment *issues_model.Comment, err error) {
removed, comment, err = issues_model.ToggleIssueAssignee(ctx, issue, doer, assigneeID)
if err != nil {
return false, nil, err
@@ -62,9 +62,9 @@ func ToggleAssignee(ctx context.Context, issue *issues_model.Issue, doer *user_m
// ReviewRequest add or remove a review request from a user for this PR, and make comment for it.
func ReviewRequest(ctx context.Context, issue *issues_model.Issue, doer, reviewer *user_model.User, isAdd bool) (comment *issues_model.Comment, err error) {
if isAdd {
- comment, err = issues_model.AddReviewRequest(issue, reviewer, doer)
+ comment, err = issues_model.AddReviewRequest(ctx, issue, reviewer, doer)
} else {
- comment, err = issues_model.RemoveReviewRequest(issue, reviewer, doer)
+ comment, err = issues_model.RemoveReviewRequest(ctx, issue, reviewer, doer)
}
if err != nil {
@@ -229,9 +229,9 @@ func IsValidTeamReviewRequest(ctx context.Context, reviewer *organization.Team,
// TeamReviewRequest add or remove a review request from a team for this PR, and make comment for it.
func TeamReviewRequest(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, reviewer *organization.Team, isAdd bool) (comment *issues_model.Comment, err error) {
if isAdd {
- comment, err = issues_model.AddTeamReviewRequest(issue, reviewer, doer)
+ comment, err = issues_model.AddTeamReviewRequest(ctx, issue, reviewer, doer)
} else {
- comment, err = issues_model.RemoveTeamReviewRequest(issue, reviewer, doer)
+ comment, err = issues_model.RemoveTeamReviewRequest(ctx, issue, reviewer, doer)
}
if err != nil {