initial commit
This commit is contained in:
parent
fe9c0e7188
commit
189f92c54b
54 changed files with 9238 additions and 0 deletions
66
server/team_hooks.go
Normal file
66
server/team_hooks.go
Normal file
|
@ -0,0 +1,66 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/mattermost/mattermost-server/model"
|
||||
"github.com/mattermost/mattermost-server/plugin"
|
||||
)
|
||||
|
||||
// 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.
|
||||
//
|
||||
// This sample implementation logs a message to the sample channel in the team whenever a user
|
||||
// joins the team.
|
||||
func (p *Plugin) UserHasJoinedTeam(c *plugin.Context, teamMember *model.TeamMember, actor *model.User) {
|
||||
if p.disabled {
|
||||
return
|
||||
}
|
||||
|
||||
user, err := p.API.GetUser(teamMember.UserId)
|
||||
if err != nil {
|
||||
p.API.LogError("failed to query user", "user_id", teamMember.UserId)
|
||||
return
|
||||
}
|
||||
|
||||
if _, err = p.API.CreatePost(&model.Post{
|
||||
UserId: p.sampleUserId,
|
||||
ChannelId: p.sampleChannelIds[teamMember.TeamId],
|
||||
Message: fmt.Sprintf("UserHasJoinedTeam: @%s", user.Username),
|
||||
}); err != nil {
|
||||
p.API.LogError(
|
||||
"failed to post UserHasJoinedTeam message",
|
||||
"user_id", teamMember.UserId,
|
||||
"error", err.Error(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// 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.
|
||||
//
|
||||
// This sample implementation logs a message to the sample channel in the team whenever a user
|
||||
// leaves the team.
|
||||
func (p *Plugin) UserHasLeftTeam(c *plugin.Context, teamMember *model.TeamMember, actor *model.User) {
|
||||
if p.disabled {
|
||||
return
|
||||
}
|
||||
|
||||
user, err := p.API.GetUser(teamMember.UserId)
|
||||
if err != nil {
|
||||
p.API.LogError("failed to query user", "user_id", teamMember.UserId)
|
||||
return
|
||||
}
|
||||
|
||||
if _, err = p.API.CreatePost(&model.Post{
|
||||
UserId: p.sampleUserId,
|
||||
ChannelId: p.sampleChannelIds[teamMember.TeamId],
|
||||
Message: fmt.Sprintf("UserHasLeftTeam: @%s", user.Username),
|
||||
}); err != nil {
|
||||
p.API.LogError(
|
||||
"failed to post UserHasLeftTeam message",
|
||||
"user_id", teamMember.UserId,
|
||||
"error", err.Error(),
|
||||
)
|
||||
}
|
||||
}
|
Reference in a new issue