GH-15624: Added plugin hooks for ReationHasBeenAdded and ReactionHasBeenRemoved (#15765)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
71c371509b
Коммит
3515b4d6c9
@@ -464,6 +464,74 @@ func (s *hooksRPCServer) UserHasLeftTeam(args *Z_UserHasLeftTeamArgs, returns *Z
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
hookNameToId["ReactionHasBeenAdded"] = ReactionHasBeenAddedId
|
||||
}
|
||||
|
||||
type Z_ReactionHasBeenAddedArgs struct {
|
||||
A *Context
|
||||
B *model.Reaction
|
||||
}
|
||||
|
||||
type Z_ReactionHasBeenAddedReturns struct {
|
||||
}
|
||||
|
||||
func (g *hooksRPCClient) ReactionHasBeenAdded(c *Context, reaction *model.Reaction) {
|
||||
_args := &Z_ReactionHasBeenAddedArgs{c, reaction}
|
||||
_returns := &Z_ReactionHasBeenAddedReturns{}
|
||||
if g.implemented[ReactionHasBeenAddedId] {
|
||||
if err := g.client.Call("Plugin.ReactionHasBeenAdded", _args, _returns); err != nil {
|
||||
g.log.Error("RPC call ReactionHasBeenAdded to plugin failed.", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *hooksRPCServer) ReactionHasBeenAdded(args *Z_ReactionHasBeenAddedArgs, returns *Z_ReactionHasBeenAddedReturns) error {
|
||||
if hook, ok := s.impl.(interface {
|
||||
ReactionHasBeenAdded(c *Context, reaction *model.Reaction)
|
||||
}); ok {
|
||||
hook.ReactionHasBeenAdded(args.A, args.B)
|
||||
} else {
|
||||
return encodableError(fmt.Errorf("Hook ReactionHasBeenAdded called but not implemented."))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
hookNameToId["ReactionHasBeenRemoved"] = ReactionHasBeenRemovedId
|
||||
}
|
||||
|
||||
type Z_ReactionHasBeenRemovedArgs struct {
|
||||
A *Context
|
||||
B *model.Reaction
|
||||
}
|
||||
|
||||
type Z_ReactionHasBeenRemovedReturns struct {
|
||||
}
|
||||
|
||||
func (g *hooksRPCClient) ReactionHasBeenRemoved(c *Context, reaction *model.Reaction) {
|
||||
_args := &Z_ReactionHasBeenRemovedArgs{c, reaction}
|
||||
_returns := &Z_ReactionHasBeenRemovedReturns{}
|
||||
if g.implemented[ReactionHasBeenRemovedId] {
|
||||
if err := g.client.Call("Plugin.ReactionHasBeenRemoved", _args, _returns); err != nil {
|
||||
g.log.Error("RPC call ReactionHasBeenRemoved to plugin failed.", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *hooksRPCServer) ReactionHasBeenRemoved(args *Z_ReactionHasBeenRemovedArgs, returns *Z_ReactionHasBeenRemovedReturns) error {
|
||||
if hook, ok := s.impl.(interface {
|
||||
ReactionHasBeenRemoved(c *Context, reaction *model.Reaction)
|
||||
}); ok {
|
||||
hook.ReactionHasBeenRemoved(args.A, args.B)
|
||||
} else {
|
||||
return encodableError(fmt.Errorf("Hook ReactionHasBeenRemoved called but not implemented."))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Z_RegisterCommandArgs struct {
|
||||
A *model.Command
|
||||
}
|
||||
|
||||
@@ -15,25 +15,27 @@ import (
|
||||
// Feel free to add more, but do not change existing assignments. Follow the naming convention of
|
||||
// <HookName>Id as the autogenerated glue code depends on that.
|
||||
const (
|
||||
OnActivateId = 0
|
||||
OnDeactivateId = 1
|
||||
ServeHTTPId = 2
|
||||
OnConfigurationChangeId = 3
|
||||
ExecuteCommandId = 4
|
||||
MessageWillBePostedId = 5
|
||||
MessageWillBeUpdatedId = 6
|
||||
MessageHasBeenPostedId = 7
|
||||
MessageHasBeenUpdatedId = 8
|
||||
UserHasJoinedChannelId = 9
|
||||
UserHasLeftChannelId = 10
|
||||
UserHasJoinedTeamId = 11
|
||||
UserHasLeftTeamId = 12
|
||||
ChannelHasBeenCreatedId = 13
|
||||
FileWillBeUploadedId = 14
|
||||
UserWillLogInId = 15
|
||||
UserHasLoggedInId = 16
|
||||
UserHasBeenCreatedId = 17
|
||||
TotalHooksId = iota
|
||||
OnActivateId = 0
|
||||
OnDeactivateId = 1
|
||||
ServeHTTPId = 2
|
||||
OnConfigurationChangeId = 3
|
||||
ExecuteCommandId = 4
|
||||
MessageWillBePostedId = 5
|
||||
MessageWillBeUpdatedId = 6
|
||||
MessageHasBeenPostedId = 7
|
||||
MessageHasBeenUpdatedId = 8
|
||||
UserHasJoinedChannelId = 9
|
||||
UserHasLeftChannelId = 10
|
||||
UserHasJoinedTeamId = 11
|
||||
UserHasLeftTeamId = 12
|
||||
ChannelHasBeenCreatedId = 13
|
||||
FileWillBeUploadedId = 14
|
||||
UserWillLogInId = 15
|
||||
UserHasLoggedInId = 16
|
||||
UserHasBeenCreatedId = 17
|
||||
ReactionHasBeenAddedId = 18
|
||||
ReactionHasBeenRemovedId = 19
|
||||
TotalHooksId = iota
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -191,4 +193,20 @@ type Hooks interface {
|
||||
//
|
||||
// Minimum server version: 5.2
|
||||
FileWillBeUploaded(c *Context, info *model.FileInfo, file io.Reader, output io.Writer) (*model.FileInfo, string)
|
||||
|
||||
// ReactionHasBeenAdded is invoked after the reaction has been committed to the database.
|
||||
//
|
||||
// Note that this method will be called for reactions added by plugins, including the plugin that
|
||||
// added the reaction.
|
||||
//
|
||||
// Minimum server version: 5.30
|
||||
ReactionHasBeenAdded(c *Context, reaction *model.Reaction)
|
||||
|
||||
// ReactionHasBeenRemoved is invoked after the removal of the reaction has been committed to the database.
|
||||
//
|
||||
// Note that this method will be called for reactions removed by plugins, including the plugin that
|
||||
// removed the reaction.
|
||||
//
|
||||
// Minimum server version: 5.30
|
||||
ReactionHasBeenRemoved(c *Context, reaction *model.Reaction)
|
||||
}
|
||||
|
||||
@@ -150,3 +150,15 @@ func (hooks *hooksTimerLayer) FileWillBeUploaded(c *Context, info *model.FileInf
|
||||
hooks.recordTime(startTime, "FileWillBeUploaded", true)
|
||||
return _returnsA, _returnsB
|
||||
}
|
||||
|
||||
func (hooks *hooksTimerLayer) ReactionHasBeenAdded(c *Context, reaction *model.Reaction) {
|
||||
startTime := timePkg.Now()
|
||||
hooks.hooksImpl.ReactionHasBeenAdded(c, reaction)
|
||||
hooks.recordTime(startTime, "ReactionHasBeenAdded", true)
|
||||
}
|
||||
|
||||
func (hooks *hooksTimerLayer) ReactionHasBeenRemoved(c *Context, reaction *model.Reaction) {
|
||||
startTime := timePkg.Now()
|
||||
hooks.hooksImpl.ReactionHasBeenRemoved(c, reaction)
|
||||
hooks.recordTime(startTime, "ReactionHasBeenRemoved", true)
|
||||
}
|
||||
|
||||
@@ -194,6 +194,16 @@ func (_m *Hooks) OnDeactivate() error {
|
||||
return r0
|
||||
}
|
||||
|
||||
// ReactionHasBeenAdded provides a mock function with given fields: c, reaction
|
||||
func (_m *Hooks) ReactionHasBeenAdded(c *plugin.Context, reaction *model.Reaction) {
|
||||
_m.Called(c, reaction)
|
||||
}
|
||||
|
||||
// ReactionHasBeenRemoved provides a mock function with given fields: c, reaction
|
||||
func (_m *Hooks) ReactionHasBeenRemoved(c *plugin.Context, reaction *model.Reaction) {
|
||||
_m.Called(c, reaction)
|
||||
}
|
||||
|
||||
// ServeHTTP provides a mock function with given fields: c, w, r
|
||||
func (_m *Hooks) ServeHTTP(c *plugin.Context, w http.ResponseWriter, r *http.Request) {
|
||||
_m.Called(c, w, r)
|
||||
|
||||
Ссылка в новой задаче
Block a user