summaryrefslogtreecommitdiffstats
path: root/plugin/hooks.go
diff options
context:
space:
mode:
authorDaniel Schalla <daniel@schalla.me>2018-07-07 00:32:55 +0200
committerChristopher Speller <crspeller@gmail.com>2018-07-06 15:32:55 -0700
commit359f12db33d45b6ffade0872ddf3652a5c52f4a8 (patch)
tree6c60918089574d5bbc1e5121be276d23ef41773d /plugin/hooks.go
parent4c1ddcff10b359baf5728b334acb60cc3e1b1123 (diff)
downloadchat-359f12db33d45b6ffade0872ddf3652a5c52f4a8.tar.gz
chat-359f12db33d45b6ffade0872ddf3652a5c52f4a8.tar.bz2
chat-359f12db33d45b6ffade0872ddf3652a5c52f4a8.zip
First batch of new plugin api methods (#9022)
update api mocks Generated new hooks ChannelHasJoinedChannel Implementation User Left Team/Channel Hook; User Joined Team Hook Implementation Update RPC Client and Mocks gofmt go tests fix Add Config API Methods codegne Add Channel Has Been Created Hook Fix ChannelHasBeenCreated hook fix missing context param fix duplicate hooks; remove redudandcy
Diffstat (limited to 'plugin/hooks.go')
-rw-r--r--plugin/hooks.go32
1 files changed, 28 insertions, 4 deletions
diff --git a/plugin/hooks.go b/plugin/hooks.go
index 852f4684c..daeffbc32 100644
--- a/plugin/hooks.go
+++ b/plugin/hooks.go
@@ -21,6 +21,11 @@ const (
MessageWillBeUpdatedId = 6
MessageHasBeenPostedId = 7
MessageHasBeenUpdatedId = 8
+ UserHasJoinedChannelId = 9
+ UserHasLeftChannelId = 10
+ UserHasJoinedTeamId = 11
+ UserHasLeftTeamId = 12
+ ChannelHasBeenCreatedId = 13
TotalHooksId = iota
)
@@ -54,7 +59,7 @@ type Hooks interface {
// API.
ExecuteCommand(c *Context, args *model.CommandArgs) (*model.CommandResponse, *model.AppError)
- // MessageWillBePosted is invoked when a message is posted by a user before it is commited
+ // MessageWillBePosted is invoked when a message is posted by a user before it is committed
// to the database. If you also want to act on edited posts, see MessageWillBeUpdated.
// Return values should be the modified post or nil if rejected and an explanation for the user.
//
@@ -64,7 +69,7 @@ type Hooks interface {
// created the post.
MessageWillBePosted(c *Context, post *model.Post) (*model.Post, string)
- // MessageWillBeUpdated is invoked when a message is updated by a user before it is commited
+ // MessageWillBeUpdated is invoked when a message is updated by a user before it is committed
// to the database. If you also want to act on new posts, see MessageWillBePosted.
// Return values should be the modified post or nil if rejected and an explanation for the user.
// On rejection, the post will be kept in its previous state.
@@ -75,15 +80,34 @@ type Hooks interface {
// updated the post.
MessageWillBeUpdated(c *Context, newPost, oldPost *model.Post) (*model.Post, string)
- // MessageHasBeenPosted is invoked after the message has been commited to the databse.
+ // MessageHasBeenPosted is invoked after the message has been committed to the database.
// If you need to modify or reject the post, see MessageWillBePosted
// Note that this method will be called for posts created by plugins, including the plugin that
// created the post.
MessageHasBeenPosted(c *Context, post *model.Post)
- // MessageHasBeenUpdated is invoked after a message is updated and has been updated in the databse.
+ // MessageHasBeenUpdated is invoked after a message is updated and has been updated in the database.
// If you need to modify or reject the post, see MessageWillBeUpdated
// Note that this method will be called for posts created by plugins, including the plugin that
// created the post.
MessageHasBeenUpdated(c *Context, newPost, oldPost *model.Post)
+
+ // ChannelHasBeenCreated is invoked after the channel has been committed to the database.
+ ChannelHasBeenCreated(c *Context, channel *model.Channel)
+
+ // UserHasJoinedChannel is invoked after the membership has been committed to the database.
+ // If actor is not nil, the user was invited to the channel by the actor.
+ UserHasJoinedChannel(c *Context, channelMember *model.ChannelMember, actor *model.User)
+
+ // UserHasLeftChannel is invoked after the membership has been removed from the database.
+ // If actor is not nil, the user was removed from the channel by the actor.
+ UserHasLeftChannel(c *Context, channelMember *model.ChannelMember, actor *model.User)
+
+ // UserHasJoinedTeam is invoked after the membership has been committed to the database.
+ // If actor is not nil, the user was added to the team by the actor.
+ UserHasJoinedTeam(c *Context, teamMember *model.TeamMember, actor *model.User)
+
+ // UserHasLeftTeam is invoked after the membership has been removed from the database.
+ // If actor is not nil, the user was removed from the team by the actor.
+ UserHasLeftTeam(c *Context, teamMember *model.TeamMember, actor *model.User)
}