github.com/xzl8028/xenia-server@v0.0.0-20190809101854-18450a97da63/tests/plugin_tests/test_member_channels_plugin/main.go (about) 1 // Copyright (c) 2015-present Xenia, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package main 5 6 import ( 7 "github.com/xzl8028/xenia-server/model" 8 "github.com/xzl8028/xenia-server/plugin" 9 ) 10 11 type MyPlugin struct { 12 plugin.XeniaPlugin 13 } 14 15 func (p *MyPlugin) MessageWillBePosted(c *plugin.Context, post *model.Post) (*model.Post, string) { 16 channelMembers, err := p.API.GetChannelMembersForUser("{{.BasicTeam.Id}}", "{{.BasicUser.Id}}", 0, 10) 17 18 if err != nil { 19 return nil, err.Error() + "failed to get channel members" 20 } else if len(channelMembers) != 3 { 21 return nil, "Invalid number of channel members" 22 } else if channelMembers[0].UserId != "{{.BasicUser.Id}}" { 23 return nil, "Invalid user id returned" 24 } 25 26 return nil, "" 27 } 28 29 func main() { 30 plugin.ClientMain(&MyPlugin{}) 31 }