Skip to content

Commit e0e4473

Browse files
lunnyzeripath
authored andcommitted
extract some inline functions related with create comment (#8931)
1 parent c58fba9 commit e0e4473

File tree

5 files changed

+65
-88
lines changed

5 files changed

+65
-88
lines changed

models/issue.go

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,16 @@ func (issue *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (er
652652
}
653653

654654
// New action comment
655-
if _, err = createStatusComment(e, doer, issue); err != nil {
655+
cmtType := CommentTypeClose
656+
if !issue.IsClosed {
657+
cmtType = CommentTypeReopen
658+
}
659+
if _, err := createComment(e, &CreateCommentOptions{
660+
Type: cmtType,
661+
Doer: doer,
662+
Repo: issue.Repo,
663+
Issue: issue,
664+
}); err != nil {
656665
return err
657666
}
658667

@@ -702,8 +711,15 @@ func (issue *Issue) ChangeTitle(doer *User, oldTitle string) (err error) {
702711
return fmt.Errorf("loadRepo: %v", err)
703712
}
704713

705-
if _, err = createChangeTitleComment(sess, doer, issue.Repo, issue, oldTitle, issue.Title); err != nil {
706-
return fmt.Errorf("createChangeTitleComment: %v", err)
714+
if _, err = createComment(sess, &CreateCommentOptions{
715+
Type: CommentTypeChangeTitle,
716+
Doer: doer,
717+
Repo: issue.Repo,
718+
Issue: issue,
719+
OldTitle: oldTitle,
720+
NewTitle: issue.Title,
721+
}); err != nil {
722+
return fmt.Errorf("createComment: %v", err)
707723
}
708724

709725
if err = issue.neuterCrossReferences(sess); err != nil {
@@ -728,7 +744,13 @@ func AddDeletePRBranchComment(doer *User, repo *Repository, issueID int64, branc
728744
if err := sess.Begin(); err != nil {
729745
return err
730746
}
731-
if _, err := createDeleteBranchComment(sess, doer, repo, issue, branchName); err != nil {
747+
if _, err := createComment(sess, &CreateCommentOptions{
748+
Type: CommentTypeDeleteBranch,
749+
Doer: doer,
750+
Repo: repo,
751+
Issue: issue,
752+
CommitSHA: branchName,
753+
}); err != nil {
732754
return err
733755
}
734756

models/issue_assignees.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,16 @@ func (issue *Issue) toggleAssignee(sess *xorm.Session, doer *User, assigneeID in
120120
}
121121

122122
// Comment
123-
comment, err = createAssigneeComment(sess, doer, issue.Repo, issue, assigneeID, removed)
123+
comment, err = createComment(sess, &CreateCommentOptions{
124+
Type: CommentTypeAssignees,
125+
Doer: doer,
126+
Repo: issue.Repo,
127+
Issue: issue,
128+
RemovedAssignee: removed,
129+
AssigneeID: assigneeID,
130+
})
124131
if err != nil {
125-
return false, nil, fmt.Errorf("createAssigneeComment: %v", err)
132+
return false, nil, fmt.Errorf("createComment: %v", err)
126133
}
127134

128135
// if pull request is in the middle of creation - don't call webhook

models/issue_comment.go

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -651,34 +651,6 @@ func sendCreateCommentAction(e *xorm.Session, opts *CreateCommentOptions, commen
651651
return nil
652652
}
653653

654-
func createStatusComment(e *xorm.Session, doer *User, issue *Issue) (*Comment, error) {
655-
cmtType := CommentTypeClose
656-
if !issue.IsClosed {
657-
cmtType = CommentTypeReopen
658-
}
659-
return createComment(e, &CreateCommentOptions{
660-
Type: cmtType,
661-
Doer: doer,
662-
Repo: issue.Repo,
663-
Issue: issue,
664-
})
665-
}
666-
667-
func createLabelComment(e *xorm.Session, doer *User, repo *Repository, issue *Issue, label *Label, add bool) (*Comment, error) {
668-
var content string
669-
if add {
670-
content = "1"
671-
}
672-
return createComment(e, &CreateCommentOptions{
673-
Type: CommentTypeLabel,
674-
Doer: doer,
675-
Repo: repo,
676-
Issue: issue,
677-
Label: label,
678-
Content: content,
679-
})
680-
}
681-
682654
func createMilestoneComment(e *xorm.Session, doer *User, repo *Repository, issue *Issue, oldMilestoneID, milestoneID int64) (*Comment, error) {
683655
return createComment(e, &CreateCommentOptions{
684656
Type: CommentTypeMilestone,
@@ -690,17 +662,6 @@ func createMilestoneComment(e *xorm.Session, doer *User, repo *Repository, issue
690662
})
691663
}
692664

693-
func createAssigneeComment(e *xorm.Session, doer *User, repo *Repository, issue *Issue, assigneeID int64, removedAssignee bool) (*Comment, error) {
694-
return createComment(e, &CreateCommentOptions{
695-
Type: CommentTypeAssignees,
696-
Doer: doer,
697-
Repo: repo,
698-
Issue: issue,
699-
RemovedAssignee: removedAssignee,
700-
AssigneeID: assigneeID,
701-
})
702-
}
703-
704665
func createDeadlineComment(e *xorm.Session, doer *User, issue *Issue, newDeadlineUnix timeutil.TimeStamp) (*Comment, error) {
705666

706667
var content string
@@ -733,27 +694,6 @@ func createDeadlineComment(e *xorm.Session, doer *User, issue *Issue, newDeadlin
733694
})
734695
}
735696

736-
func createChangeTitleComment(e *xorm.Session, doer *User, repo *Repository, issue *Issue, oldTitle, newTitle string) (*Comment, error) {
737-
return createComment(e, &CreateCommentOptions{
738-
Type: CommentTypeChangeTitle,
739-
Doer: doer,
740-
Repo: repo,
741-
Issue: issue,
742-
OldTitle: oldTitle,
743-
NewTitle: newTitle,
744-
})
745-
}
746-
747-
func createDeleteBranchComment(e *xorm.Session, doer *User, repo *Repository, issue *Issue, branchName string) (*Comment, error) {
748-
return createComment(e, &CreateCommentOptions{
749-
Type: CommentTypeDeleteBranch,
750-
Doer: doer,
751-
Repo: repo,
752-
Issue: issue,
753-
CommitSHA: branchName,
754-
})
755-
}
756-
757697
// Creates issue dependency comment
758698
func createIssueDependencyComment(e *xorm.Session, doer *User, issue *Issue, dependentIssue *Issue, add bool) (err error) {
759699
cType := CommentTypeAddDependency

models/issue_label.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,14 @@ func newIssueLabel(e *xorm.Session, issue *Issue, label *Label, doer *User) (err
402402
return
403403
}
404404

405-
if _, err = createLabelComment(e, doer, issue.Repo, issue, label, true); err != nil {
405+
if _, err = createComment(e, &CreateCommentOptions{
406+
Type: CommentTypeLabel,
407+
Doer: doer,
408+
Repo: issue.Repo,
409+
Issue: issue,
410+
Label: label,
411+
Content: "1",
412+
}); err != nil {
406413
return err
407414
}
408415

@@ -471,7 +478,13 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label, doer *User) (
471478
return
472479
}
473480

474-
if _, err = createLabelComment(e, doer, issue.Repo, issue, label, false); err != nil {
481+
if _, err = createComment(e, &CreateCommentOptions{
482+
Type: CommentTypeLabel,
483+
Doer: doer,
484+
Repo: issue.Repo,
485+
Issue: issue,
486+
Label: label,
487+
}); err != nil {
475488
return err
476489
}
477490

models/issue_xref.go

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,6 @@ type crossReferencesContext struct {
2525
OrigComment *Comment
2626
}
2727

28-
func newCrossReference(e *xorm.Session, ctx *crossReferencesContext, xref *crossReference) error {
29-
var refCommentID int64
30-
if ctx.OrigComment != nil {
31-
refCommentID = ctx.OrigComment.ID
32-
}
33-
_, err := createComment(e, &CreateCommentOptions{
34-
Type: ctx.Type,
35-
Doer: ctx.Doer,
36-
Repo: xref.Issue.Repo,
37-
Issue: xref.Issue,
38-
RefRepoID: ctx.OrigIssue.RepoID,
39-
RefIssueID: ctx.OrigIssue.ID,
40-
RefCommentID: refCommentID,
41-
RefAction: xref.Action,
42-
RefIsPull: xref.Issue.IsPull,
43-
})
44-
return err
45-
}
46-
4728
func neuterCrossReferences(e Engine, issueID int64, commentID int64) error {
4829
active := make([]*Comment, 0, 10)
4930
sess := e.Where("`ref_action` IN (?, ?, ?)", references.XRefActionNone, references.XRefActionCloses, references.XRefActionReopens)
@@ -93,7 +74,21 @@ func (issue *Issue) createCrossReferences(e *xorm.Session, ctx *crossReferencesC
9374
return err
9475
}
9576
for _, xref := range xreflist {
96-
if err = newCrossReference(e, ctx, xref); err != nil {
77+
var refCommentID int64
78+
if ctx.OrigComment != nil {
79+
refCommentID = ctx.OrigComment.ID
80+
}
81+
if _, err := createComment(e, &CreateCommentOptions{
82+
Type: ctx.Type,
83+
Doer: ctx.Doer,
84+
Repo: xref.Issue.Repo,
85+
Issue: xref.Issue,
86+
RefRepoID: ctx.OrigIssue.RepoID,
87+
RefIssueID: ctx.OrigIssue.ID,
88+
RefCommentID: refCommentID,
89+
RefAction: xref.Action,
90+
RefIsPull: xref.Issue.IsPull,
91+
}); err != nil {
9792
return err
9893
}
9994
}

0 commit comments

Comments
 (0)