Browse Source

Fix notification (#10331)

tags/v1.10.5
Lunny Xiao 4 years ago
parent
commit
21e771c41b
No account linked to committer's email address
1 changed files with 18 additions and 18 deletions
  1. 18
    18
      modules/notification/ui/ui.go

+ 18
- 18
modules/notification/ui/ui.go View File

} }


issueNotificationOpts struct { issueNotificationOpts struct {
issueID int64
commentID int64
notificationAuthorID int64
IssueID int64
CommentID int64
NotificationAuthorID int64
} }
) )


func (ns *notificationService) handle(data ...queue.Data) { func (ns *notificationService) handle(data ...queue.Data) {
for _, datum := range data { for _, datum := range data {
opts := datum.(issueNotificationOpts) opts := datum.(issueNotificationOpts)
if err := models.CreateOrUpdateIssueNotifications(opts.issueID, opts.commentID, opts.notificationAuthorID); err != nil {
if err := models.CreateOrUpdateIssueNotifications(opts.IssueID, opts.CommentID, opts.NotificationAuthorID); err != nil {
log.Error("Was unable to create issue notification: %v", err) log.Error("Was unable to create issue notification: %v", err)
} }
} }
func (ns *notificationService) NotifyCreateIssueComment(doer *models.User, repo *models.Repository, func (ns *notificationService) NotifyCreateIssueComment(doer *models.User, repo *models.Repository,
issue *models.Issue, comment *models.Comment) { issue *models.Issue, comment *models.Comment) {
var opts = issueNotificationOpts{ var opts = issueNotificationOpts{
issueID: issue.ID,
notificationAuthorID: doer.ID,
IssueID: issue.ID,
NotificationAuthorID: doer.ID,
} }
if comment != nil { if comment != nil {
opts.commentID = comment.ID
opts.CommentID = comment.ID
} }
_ = ns.issueQueue.Push(opts) _ = ns.issueQueue.Push(opts)
} }


func (ns *notificationService) NotifyNewIssue(issue *models.Issue) { func (ns *notificationService) NotifyNewIssue(issue *models.Issue) {
_ = ns.issueQueue.Push(issueNotificationOpts{ _ = ns.issueQueue.Push(issueNotificationOpts{
issueID: issue.ID,
notificationAuthorID: issue.Poster.ID,
IssueID: issue.ID,
NotificationAuthorID: issue.Poster.ID,
}) })
} }


func (ns *notificationService) NotifyIssueChangeStatus(doer *models.User, issue *models.Issue, actionComment *models.Comment, isClosed bool) { func (ns *notificationService) NotifyIssueChangeStatus(doer *models.User, issue *models.Issue, actionComment *models.Comment, isClosed bool) {
_ = ns.issueQueue.Push(issueNotificationOpts{ _ = ns.issueQueue.Push(issueNotificationOpts{
issueID: issue.ID,
notificationAuthorID: doer.ID,
IssueID: issue.ID,
NotificationAuthorID: doer.ID,
}) })
} }


func (ns *notificationService) NotifyMergePullRequest(pr *models.PullRequest, doer *models.User) { func (ns *notificationService) NotifyMergePullRequest(pr *models.PullRequest, doer *models.User) {
_ = ns.issueQueue.Push(issueNotificationOpts{ _ = ns.issueQueue.Push(issueNotificationOpts{
issueID: pr.Issue.ID,
notificationAuthorID: doer.ID,
IssueID: pr.Issue.ID,
NotificationAuthorID: doer.ID,
}) })
} }


return return
} }
_ = ns.issueQueue.Push(issueNotificationOpts{ _ = ns.issueQueue.Push(issueNotificationOpts{
issueID: pr.Issue.ID,
notificationAuthorID: pr.Issue.PosterID,
IssueID: pr.Issue.ID,
NotificationAuthorID: pr.Issue.PosterID,
}) })
} }


func (ns *notificationService) NotifyPullRequestReview(pr *models.PullRequest, r *models.Review, c *models.Comment) { func (ns *notificationService) NotifyPullRequestReview(pr *models.PullRequest, r *models.Review, c *models.Comment) {
var opts = issueNotificationOpts{ var opts = issueNotificationOpts{
issueID: pr.Issue.ID,
notificationAuthorID: r.Reviewer.ID,
IssueID: pr.Issue.ID,
NotificationAuthorID: r.Reviewer.ID,
} }
if c != nil { if c != nil {
opts.commentID = c.ID
opts.CommentID = c.ID
} }
_ = ns.issueQueue.Push(opts) _ = ns.issueQueue.Push(opts)
} }

Loading…
Cancel
Save