GH-9609: Add GetUsersInTeam in plugin API (#9642)

* add GetUsersInTeam in plugin api

* remove extra space in comment
This commit is contained in:
Daniel Hodan
2018-10-15 18:24:26 +02:00
committed by Christopher Speller
parent 9da4aba3f2
commit 3087f0bc4c
4 changed files with 63 additions and 0 deletions

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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
}

View File

@@ -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)