code.gitea.io/gitea@v1.19.3/modules/notification/base/notifier.go (about) 1 // Copyright 2018 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package base 5 6 import ( 7 "context" 8 9 issues_model "code.gitea.io/gitea/models/issues" 10 packages_model "code.gitea.io/gitea/models/packages" 11 repo_model "code.gitea.io/gitea/models/repo" 12 user_model "code.gitea.io/gitea/models/user" 13 "code.gitea.io/gitea/modules/repository" 14 ) 15 16 // Notifier defines an interface to notify receiver 17 type Notifier interface { 18 Run() 19 NotifyCreateRepository(ctx context.Context, doer, u *user_model.User, repo *repo_model.Repository) 20 NotifyMigrateRepository(ctx context.Context, doer, u *user_model.User, repo *repo_model.Repository) 21 NotifyDeleteRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository) 22 NotifyForkRepository(ctx context.Context, doer *user_model.User, oldRepo, repo *repo_model.Repository) 23 NotifyRenameRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, oldRepoName string) 24 NotifyTransferRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, oldOwnerName string) 25 NotifyNewIssue(ctx context.Context, issue *issues_model.Issue, mentions []*user_model.User) 26 NotifyIssueChangeStatus(ctx context.Context, doer *user_model.User, commitID string, issue *issues_model.Issue, actionComment *issues_model.Comment, closeOrReopen bool) 27 NotifyDeleteIssue(ctx context.Context, doer *user_model.User, issue *issues_model.Issue) 28 NotifyIssueChangeMilestone(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldMilestoneID int64) 29 NotifyIssueChangeAssignee(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, assignee *user_model.User, removed bool, comment *issues_model.Comment) 30 NotifyPullReviewRequest(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, reviewer *user_model.User, isRequest bool, comment *issues_model.Comment) 31 NotifyIssueChangeContent(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldContent string) 32 NotifyIssueClearLabels(ctx context.Context, doer *user_model.User, issue *issues_model.Issue) 33 NotifyIssueChangeTitle(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldTitle string) 34 NotifyIssueChangeRef(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldRef string) 35 NotifyIssueChangeLabels(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, 36 addedLabels, removedLabels []*issues_model.Label) 37 NotifyNewPullRequest(ctx context.Context, pr *issues_model.PullRequest, mentions []*user_model.User) 38 NotifyMergePullRequest(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest) 39 NotifyAutoMergePullRequest(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest) 40 NotifyPullRequestSynchronized(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest) 41 NotifyPullRequestReview(ctx context.Context, pr *issues_model.PullRequest, review *issues_model.Review, comment *issues_model.Comment, mentions []*user_model.User) 42 NotifyPullRequestCodeComment(ctx context.Context, pr *issues_model.PullRequest, comment *issues_model.Comment, mentions []*user_model.User) 43 NotifyPullRequestChangeTargetBranch(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest, oldBranch string) 44 NotifyPullRequestPushCommits(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest, comment *issues_model.Comment) 45 NotifyPullReviewDismiss(ctx context.Context, doer *user_model.User, review *issues_model.Review, comment *issues_model.Comment) 46 NotifyCreateIssueComment(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, 47 issue *issues_model.Issue, comment *issues_model.Comment, mentions []*user_model.User) 48 NotifyUpdateComment(ctx context.Context, doer *user_model.User, c *issues_model.Comment, oldContent string) 49 NotifyDeleteComment(ctx context.Context, doer *user_model.User, c *issues_model.Comment) 50 NotifyNewWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page, comment string) 51 NotifyEditWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page, comment string) 52 NotifyDeleteWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page string) 53 NotifyNewRelease(ctx context.Context, rel *repo_model.Release) 54 NotifyUpdateRelease(ctx context.Context, doer *user_model.User, rel *repo_model.Release) 55 NotifyDeleteRelease(ctx context.Context, doer *user_model.User, rel *repo_model.Release) 56 NotifyPushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) 57 NotifyCreateRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refType, refFullName, refID string) 58 NotifyDeleteRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refType, refFullName string) 59 NotifySyncPushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) 60 NotifySyncCreateRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refType, refFullName, refID string) 61 NotifySyncDeleteRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refType, refFullName string) 62 NotifyRepoPendingTransfer(ctx context.Context, doer, newOwner *user_model.User, repo *repo_model.Repository) 63 NotifyPackageCreate(ctx context.Context, doer *user_model.User, pd *packages_model.PackageDescriptor) 64 NotifyPackageDelete(ctx context.Context, doer *user_model.User, pd *packages_model.PackageDescriptor) 65 }