2019-09-24 08:02:49 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package mailer
import (
"code.gitea.io/gitea/models"
2021-11-24 12:49:20 +03:00
user_model "code.gitea.io/gitea/models/user"
2019-09-24 08:02:49 +03:00
"code.gitea.io/gitea/modules/log"
2021-08-12 10:26:33 +03:00
"code.gitea.io/gitea/modules/setting"
2019-09-24 08:02:49 +03:00
)
2021-04-02 13:25:13 +03:00
// MailParticipantsComment sends new comment emails to repository watchers and mentioned people.
2021-11-24 12:49:20 +03:00
func MailParticipantsComment ( c * models . Comment , opType models . ActionType , issue * models . Issue , mentions [ ] * user_model . User ) error {
2021-08-12 10:26:33 +03:00
if setting . MailService == nil {
// No mail service configured
return nil
}
2021-05-30 12:38:38 +03:00
content := c . Content
if c . Type == models . CommentTypePullPush {
content = ""
}
2021-04-02 13:25:13 +03:00
if err := mailIssueCommentToParticipants (
2019-11-18 11:08:20 +03:00
& mailCommentContext {
Issue : issue ,
Doer : c . Poster ,
ActionType : opType ,
2021-05-30 12:38:38 +03:00
Content : content ,
2019-11-18 11:08:20 +03:00
Comment : c ,
2021-04-02 13:25:13 +03:00
} , mentions ) ; err != nil {
2019-11-07 16:34:28 +03:00
log . Error ( "mailIssueCommentToParticipants: %v" , err )
2019-09-24 08:02:49 +03:00
}
return nil
}
2021-01-02 20:04:02 +03:00
// MailMentionsComment sends email to users mentioned in a code comment
2021-11-24 12:49:20 +03:00
func MailMentionsComment ( pr * models . PullRequest , c * models . Comment , mentions [ ] * user_model . User ) ( err error ) {
2021-08-12 10:26:33 +03:00
if setting . MailService == nil {
// No mail service configured
return nil
}
2021-01-02 20:04:02 +03:00
visited := make ( map [ int64 ] bool , len ( mentions ) + 1 )
visited [ c . Poster . ID ] = true
if err = mailIssueCommentBatch (
& mailCommentContext {
Issue : pr . Issue ,
Doer : c . Poster ,
ActionType : models . ActionCommentPull ,
Content : c . Content ,
Comment : c ,
2021-04-02 13:25:13 +03:00
} , mentions , visited , true ) ; err != nil {
2021-01-02 20:04:02 +03:00
log . Error ( "mailIssueCommentBatch: %v" , err )
}
return nil
}