[MM-13750] Add ability to search teams to plugin API (#10116)

Add SearchTeams in plugin/api,
This commit is contained in:
Adzim Zul Fahmi
2019-01-16 15:13:15 +07:00
committed by Hanzei
parent ae76d27b7d
commit dfb9241e82
5 changed files with 90 additions and 0 deletions

View File

@@ -144,6 +144,11 @@ type API interface {
// UpdateTeam updates a team.
UpdateTeam(team *model.Team) (*model.Team, *model.AppError)
// SearchTeams search a team.
//
// Minimum server version: 5.8
SearchTeams(term string) ([]*model.Team, *model.AppError)
// GetTeamsForUser returns list of teams of given user ID.
//
// Minimum server version: 5.6

View File

@@ -1362,6 +1362,35 @@ func (s *apiRPCServer) UpdateTeam(args *Z_UpdateTeamArgs, returns *Z_UpdateTeamR
return nil
}
type Z_SearchTeamsArgs struct {
A string
}
type Z_SearchTeamsReturns struct {
A []*model.Team
B *model.AppError
}
func (g *apiRPCClient) SearchTeams(term string) ([]*model.Team, *model.AppError) {
_args := &Z_SearchTeamsArgs{term}
_returns := &Z_SearchTeamsReturns{}
if err := g.client.Call("Plugin.SearchTeams", _args, _returns); err != nil {
log.Printf("RPC call to SearchTeams API failed: %s", err.Error())
}
return _returns.A, _returns.B
}
func (s *apiRPCServer) SearchTeams(args *Z_SearchTeamsArgs, returns *Z_SearchTeamsReturns) error {
if hook, ok := s.impl.(interface {
SearchTeams(term string) ([]*model.Team, *model.AppError)
}); ok {
returns.A, returns.B = hook.SearchTeams(args.A)
} else {
return encodableError(fmt.Errorf("API SearchTeams called but not implemented."))
}
return nil
}
type Z_GetTeamsForUserArgs struct {
A string
}

View File

@@ -1958,6 +1958,31 @@ func (_m *API) SearchChannels(teamId string, term string) ([]*model.Channel, *mo
return r0, r1
}
// SearchTeams provides a mock function with given fields: term
func (_m *API) SearchTeams(term string) ([]*model.Team, *model.AppError) {
ret := _m.Called(term)
var r0 []*model.Team
if rf, ok := ret.Get(0).(func(string) []*model.Team); ok {
r0 = rf(term)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]*model.Team)
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(term)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// SearchUsers provides a mock function with given fields: search
func (_m *API) SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError) {
ret := _m.Called(search)