From 8de9a61f7ffd570312fd05c5e6986f9d21ab0063 Mon Sep 17 00:00:00 2001 From: Akash Srivastava Date: Thu, 4 Oct 2018 01:37:54 +0530 Subject: Add GetChannelMembers method to plugin API (#9525) Signed-off-by: Akash Srivastava --- plugin/api.go | 3 +++ plugin/client_rpc_generated.go | 31 +++++++++++++++++++++++++++++++ plugin/plugintest/api.go | 25 +++++++++++++++++++++++++ 3 files changed, 59 insertions(+) (limited to 'plugin') diff --git a/plugin/api.go b/plugin/api.go index b85160940..80364c2af 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -140,6 +140,9 @@ type API interface { // GetChannelMember gets a channel membership for a user. GetChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) + // GetChannelMembers gets a channel membership for all users. + GetChannelMembers(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError) + // UpdateChannelMemberRoles updates a user's roles for a channel. UpdateChannelMemberRoles(channelId, userId, newRoles string) (*model.ChannelMember, *model.AppError) diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index d4faaf502..96c73efde 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -1656,6 +1656,37 @@ func (s *apiRPCServer) GetChannelMember(args *Z_GetChannelMemberArgs, returns *Z return nil } +type Z_GetChannelMembersArgs struct { + A string + B int + C int +} + +type Z_GetChannelMembersReturns struct { + A *model.ChannelMembers + B *model.AppError +} + +func (g *apiRPCClient) GetChannelMembers(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError) { + _args := &Z_GetChannelMembersArgs{channelId, page, perPage} + _returns := &Z_GetChannelMembersReturns{} + if err := g.client.Call("Plugin.GetChannelMembers", _args, _returns); err != nil { + log.Printf("RPC call to GetChannelMembers API failed: %s", err.Error()) + } + return _returns.A, _returns.B +} + +func (s *apiRPCServer) GetChannelMembers(args *Z_GetChannelMembersArgs, returns *Z_GetChannelMembersReturns) error { + if hook, ok := s.impl.(interface { + GetChannelMembers(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError) + }); ok { + returns.A, returns.B = hook.GetChannelMembers(args.A, args.B, args.C) + } else { + return encodableError(fmt.Errorf("API GetChannelMembers called but not implemented.")) + } + return nil +} + type Z_UpdateChannelMemberRolesArgs struct { A string B string diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index 64189ee23..862662cf8 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -433,6 +433,31 @@ func (_m *API) GetChannelMember(channelId string, userId string) (*model.Channel return r0, r1 } +// GetChannelMembers provides a mock function with given fields: channelId, page, perPage +func (_m *API) GetChannelMembers(channelId string, page int, perPage int) (*model.ChannelMembers, *model.AppError) { + ret := _m.Called(channelId, page, perPage) + + var r0 *model.ChannelMembers + if rf, ok := ret.Get(0).(func(string, int, int) *model.ChannelMembers); ok { + r0 = rf(channelId, page, perPage) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*model.ChannelMembers) + } + } + + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok { + r1 = rf(channelId, page, perPage) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 +} + // GetConfig provides a mock function with given fields: func (_m *API) GetConfig() *model.Config { ret := _m.Called() -- cgit v1.2.3-1-g7c22