summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hodan <daniel.hodan@czertbytes.de>2018-10-15 18:24:26 +0200
committerChristopher Speller <crspeller@gmail.com>2018-10-15 09:24:26 -0700
commit3087f0bc4c81a11ab3ecc08d3a37ea3d0dfda390 (patch)
tree0e2112cca64d067a3ed5f59af7232215565baabb
parent9da4aba3f2757bcbc2ebec2b1f95b6ef22b21912 (diff)
downloadchat-3087f0bc4c81a11ab3ecc08d3a37ea3d0dfda390.tar.gz
chat-3087f0bc4c81a11ab3ecc08d3a37ea3d0dfda390.tar.bz2
chat-3087f0bc4c81a11ab3ecc08d3a37ea3d0dfda390.zip
GH-9609: Add GetUsersInTeam in plugin API (#9642)
* add GetUsersInTeam in plugin api * remove extra space in comment
-rw-r--r--app/plugin_api.go4
-rw-r--r--plugin/api.go3
-rw-r--r--plugin/client_rpc_generated.go31
-rw-r--r--plugin/plugintest/api.go25
4 files changed, 63 insertions, 0 deletions
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)