GH-9635: Add GetUsersByUsernames to plugin API (#9647)

* add GetUsersByUsernames to plugin api

* fix GetUsersByUsernames comment
This commit is contained in:
Daniel Hodan
2018-10-18 09:11:30 -04:00
committed by Joram Wilander
parent 3bc89083fc
commit dc946f8516
4 changed files with 63 additions and 0 deletions
+4
View File
@@ -164,6 +164,10 @@ func (api *PluginAPI) GetUserByUsername(name string) (*model.User, *model.AppErr
return api.app.GetUserByUsername(name)
}
func (api *PluginAPI) GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError) {
return api.app.GetUsersByUsernames(usernames, true)
}
func (api *PluginAPI) GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError) {
return api.app.GetUsersInTeam(teamId, page, perPage)
}
+5
View File
@@ -54,6 +54,11 @@ type API interface {
// GetUserByUsername gets a user by their username.
GetUserByUsername(name string) (*model.User, *model.AppError)
// GetUsersByUsernames gets users by their usernames.
//
// Minimum server version: 5.6
GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError)
// GetUsersInTeam gets users in team.
//
// Minimum server version: 5.6
+29
View File
@@ -827,6 +827,35 @@ func (s *apiRPCServer) GetUserByUsername(args *Z_GetUserByUsernameArgs, returns
return nil
}
type Z_GetUsersByUsernamesArgs struct {
A []string
}
type Z_GetUsersByUsernamesReturns struct {
A []*model.User
B *model.AppError
}
func (g *apiRPCClient) GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError) {
_args := &Z_GetUsersByUsernamesArgs{usernames}
_returns := &Z_GetUsersByUsernamesReturns{}
if err := g.client.Call("Plugin.GetUsersByUsernames", _args, _returns); err != nil {
log.Printf("RPC call to GetUsersByUsernames API failed: %s", err.Error())
}
return _returns.A, _returns.B
}
func (s *apiRPCServer) GetUsersByUsernames(args *Z_GetUsersByUsernamesArgs, returns *Z_GetUsersByUsernamesReturns) error {
if hook, ok := s.impl.(interface {
GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError)
}); ok {
returns.A, returns.B = hook.GetUsersByUsernames(args.A)
} else {
return encodableError(fmt.Errorf("API GetUsersByUsernames called but not implemented."))
}
return nil
}
type Z_GetUsersInTeamArgs struct {
A string
B int
+25
View File
@@ -1161,6 +1161,31 @@ func (_m *API) GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.A
return r0, r1
}
// GetUsersByUsernames provides a mock function with given fields: usernames
func (_m *API) GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError) {
ret := _m.Called(usernames)
var r0 []*model.User
if rf, ok := ret.Get(0).(func([]string) []*model.User); ok {
r0 = rf(usernames)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]*model.User)
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func([]string) *model.AppError); ok {
r1 = rf(usernames)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
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)