gitea源码

notifier.go 6.1KB

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