code.gitea.io/gitea@v1.21.7/services/notify/notifier.go (about)

     1  // Copyright 2018 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package notify
     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/git"
    14  	"code.gitea.io/gitea/modules/repository"
    15  )
    16  
    17  // Notifier defines an interface to notify receiver
    18  type Notifier interface {
    19  	Run()
    20  
    21  	AdoptRepository(ctx context.Context, doer, u *user_model.User, repo *repo_model.Repository)
    22  	CreateRepository(ctx context.Context, doer, u *user_model.User, repo *repo_model.Repository)
    23  	MigrateRepository(ctx context.Context, doer, u *user_model.User, repo *repo_model.Repository)
    24  	DeleteRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository)
    25  	ForkRepository(ctx context.Context, doer *user_model.User, oldRepo, repo *repo_model.Repository)
    26  	RenameRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, oldRepoName string)
    27  	TransferRepository(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, oldOwnerName string)
    28  	RepoPendingTransfer(ctx context.Context, doer, newOwner *user_model.User, repo *repo_model.Repository)
    29  
    30  	NewIssue(ctx context.Context, issue *issues_model.Issue, mentions []*user_model.User)
    31  	IssueChangeStatus(ctx context.Context, doer *user_model.User, commitID string, issue *issues_model.Issue, actionComment *issues_model.Comment, closeOrReopen bool)
    32  	DeleteIssue(ctx context.Context, doer *user_model.User, issue *issues_model.Issue)
    33  	IssueChangeMilestone(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldMilestoneID int64)
    34  	IssueChangeAssignee(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, assignee *user_model.User, removed bool, comment *issues_model.Comment)
    35  	PullRequestReviewRequest(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, reviewer *user_model.User, isRequest bool, comment *issues_model.Comment)
    36  	IssueChangeContent(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldContent string)
    37  	IssueClearLabels(ctx context.Context, doer *user_model.User, issue *issues_model.Issue)
    38  	IssueChangeTitle(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldTitle string)
    39  	IssueChangeRef(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldRef string)
    40  	IssueChangeLabels(ctx context.Context, doer *user_model.User, issue *issues_model.Issue,
    41  		addedLabels, removedLabels []*issues_model.Label)
    42  
    43  	NewPullRequest(ctx context.Context, pr *issues_model.PullRequest, mentions []*user_model.User)
    44  	MergePullRequest(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest)
    45  	AutoMergePullRequest(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest)
    46  	PullRequestSynchronized(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest)
    47  	PullRequestReview(ctx context.Context, pr *issues_model.PullRequest, review *issues_model.Review, comment *issues_model.Comment, mentions []*user_model.User)
    48  	PullRequestCodeComment(ctx context.Context, pr *issues_model.PullRequest, comment *issues_model.Comment, mentions []*user_model.User)
    49  	PullRequestChangeTargetBranch(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest, oldBranch string)
    50  	PullRequestPushCommits(ctx context.Context, doer *user_model.User, pr *issues_model.PullRequest, comment *issues_model.Comment)
    51  	PullReviewDismiss(ctx context.Context, doer *user_model.User, review *issues_model.Review, comment *issues_model.Comment)
    52  
    53  	CreateIssueComment(ctx context.Context, doer *user_model.User, repo *repo_model.Repository,
    54  		issue *issues_model.Issue, comment *issues_model.Comment, mentions []*user_model.User)
    55  	UpdateComment(ctx context.Context, doer *user_model.User, c *issues_model.Comment, oldContent string)
    56  	DeleteComment(ctx context.Context, doer *user_model.User, c *issues_model.Comment)
    57  
    58  	NewWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page, comment string)
    59  	EditWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page, comment string)
    60  	DeleteWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, page string)
    61  
    62  	NewRelease(ctx context.Context, rel *repo_model.Release)
    63  	UpdateRelease(ctx context.Context, doer *user_model.User, rel *repo_model.Release)
    64  	DeleteRelease(ctx context.Context, doer *user_model.User, rel *repo_model.Release)
    65  
    66  	PushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits)
    67  	CreateRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refFullName git.RefName, refID string)
    68  	DeleteRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refFullName git.RefName)
    69  	SyncPushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits)
    70  	SyncCreateRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refFullName git.RefName, refID string)
    71  	SyncDeleteRef(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, refFullName git.RefName)
    72  
    73  	PackageCreate(ctx context.Context, doer *user_model.User, pd *packages_model.PackageDescriptor)
    74  	PackageDelete(ctx context.Context, doer *user_model.User, pd *packages_model.PackageDescriptor)
    75  
    76  	ChangeDefaultBranch(ctx context.Context, repo *repo_model.Repository)
    77  }