From 3087f0bc4c81a11ab3ecc08d3a37ea3d0dfda390 Mon Sep 17 00:00:00 2001 From: Daniel Hodan Date: Mon, 15 Oct 2018 18:24:26 +0200 Subject: GH-9609: Add GetUsersInTeam in plugin API (#9642) * add GetUsersInTeam in plugin api * remove extra space in comment --- app/plugin_api.go | 4 ++++ plugin/api.go | 3 +++ plugin/client_rpc_generated.go | 31 +++++++++++++++++++++++++++++++ plugin/plugintest/api.go | 25 +++++++++++++++++++++++++ 4 files changed, 63 insertions(+) diff --git a/app/plugin_api.go b/app/plugin_api.go index f3d588e08..1deb45802 100644 --- a/app/plugin_api.go +++ b/app/plugin_api.go @@ -160,6 +160,10 @@ func (api *PluginAPI) GetUserByUsername(name string) (*model.User, *model.AppErr return api.app.GetUserByUsername(name) } +func (api *PluginAPI) GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) { + return api.app.GetUsersInTeam(teamId, page, perPage) +} + func (api *PluginAPI) UpdateUser(user *model.User) (*model.User, *model.AppError) { return api.app.UpdateUser(user, true) } diff --git a/plugin/api.go b/plugin/api.go index 7034cf3d0..004d4c1ff 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -52,6 +52,9 @@ type API interface { // GetUserByUsername gets a user by their username. GetUserByUsername(name string) (*model.User, *model.AppError) + // GetUsersInTeam gets users in team. + GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) + // UpdateUser updates a user. UpdateUser(user *model.User) (*model.User, *model.AppError) diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index b50f422fe..8522f7be4 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -827,6 +827,37 @@ func (s *apiRPCServer) GetUserByUsername(args *Z_GetUserByUsernameArgs, returns return nil } +type Z_GetUsersInTeamArgs struct { + A string + B int + C int +} + +type Z_GetUsersInTeamReturns struct { + A []*model.User + B *model.AppError +} + +func (g *apiRPCClient) GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) { + _args := &Z_GetUsersInTeamArgs{teamId, page, perPage} + _returns := &Z_GetUsersInTeamReturns{} + if err := g.client.Call("Plugin.GetUsersInTeam", _args, _returns); err != nil { + log.Printf("RPC call to GetUsersInTeam API failed: %s", err.Error()) + } + return _returns.A, _returns.B +} + +func (s *apiRPCServer) GetUsersInTeam(args *Z_GetUsersInTeamArgs, returns *Z_GetUsersInTeamReturns) error { + if hook, ok := s.impl.(interface { + GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) + }); ok { + returns.A, returns.B = hook.GetUsersInTeam(args.A, args.B, args.C) + } else { + return encodableError(fmt.Errorf("API GetUsersInTeam called but not implemented.")) + } + return nil +} + type Z_UpdateUserArgs struct { A *model.User } diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index 9040f994e..b915a6105 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -1038,6 +1038,31 @@ func (_m *API) GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.A return r0, r1 } +// GetUsersInTeam provides a mock function with given fields: teamId, page, perPage +func (_m *API) GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) { + ret := _m.Called(teamId, page, perPage) + + var r0 []*model.User + if rf, ok := ret.Get(0).(func(string, int, int) []*model.User); ok { + r0 = rf(teamId, page, perPage) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]*model.User) + } + } + + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok { + r1 = rf(teamId, page, perPage) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 +} + // HasPermissionTo provides a mock function with given fields: userId, permission func (_m *API) HasPermissionTo(userId string, permission *model.Permission) bool { ret := _m.Called(userId, permission) -- cgit v1.2.3-1-g7c22