You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

notifier.go 5.5KB

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