GH-9612 Add plugin API for GetChannelStats method (#9627)

* Add GetChannelStats plugin api

* Fix to return channel stats correctly

* Add server version; Handle error idiomatically
This commit is contained in:
Jason Mojica
2018-10-25 17:24:43 +00:00
committed by Jesse Hallam
parent dd60ad0db7
commit 1074a1c7ab
4 changed files with 67 additions and 0 deletions

View File

@@ -1660,6 +1660,35 @@ func (s *apiRPCServer) GetChannelsForTeamForUser(args *Z_GetChannelsForTeamForUs
return nil
}
type Z_GetChannelStatsArgs struct {
A string
}
type Z_GetChannelStatsReturns struct {
A *model.ChannelStats
B *model.AppError
}
func (g *apiRPCClient) GetChannelStats(channelId string) (*model.ChannelStats, *model.AppError) {
_args := &Z_GetChannelStatsArgs{channelId}
_returns := &Z_GetChannelStatsReturns{}
if err := g.client.Call("Plugin.GetChannelStats", _args, _returns); err != nil {
log.Printf("RPC call to GetChannelStats API failed: %s", err.Error())
}
return _returns.A, _returns.B
}
func (s *apiRPCServer) GetChannelStats(args *Z_GetChannelStatsArgs, returns *Z_GetChannelStatsReturns) error {
if hook, ok := s.impl.(interface {
GetChannelStats(channelId string) (*model.ChannelStats, *model.AppError)
}); ok {
returns.A, returns.B = hook.GetChannelStats(args.A)
} else {
return encodableError(fmt.Errorf("API GetChannelStats called but not implemented."))
}
return nil
}
type Z_GetDirectChannelArgs struct {
A string
B string