[GH-9639] Add plugin API for SearchUsers method (#9793)
* fixes 9639 * Adding conversion.
Этот коммит содержится в:
коммит произвёл
Christopher Speller
родитель
acd2deaca3
Коммит
8cd0f284d5
@@ -316,6 +316,15 @@ func (api *PluginAPI) SearchChannels(teamId string, term string) ([]*model.Chann
|
||||
return *channels, err
|
||||
}
|
||||
|
||||
func (api *PluginAPI) SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError) {
|
||||
pluginSearchUsersOptions := &model.UserSearchOptions{
|
||||
IsAdmin: true,
|
||||
AllowInactive: search.AllowInactive,
|
||||
Limit: search.Limit,
|
||||
}
|
||||
return api.app.SearchUsers(search, pluginSearchUsersOptions)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) AddChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) {
|
||||
// For now, don't allow overriding these via the plugin API.
|
||||
userRequestorId := ""
|
||||
|
||||
@@ -206,6 +206,11 @@ type API interface {
|
||||
// Minimum server version: 5.6
|
||||
SearchChannels(teamId string, term string) ([]*model.Channel, *model.AppError)
|
||||
|
||||
// SearchUsers returns a list of users based on some search criteria.
|
||||
//
|
||||
// Minimum server version: 5.6
|
||||
SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError)
|
||||
|
||||
// AddChannelMember creates a channel membership for a user.
|
||||
AddChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError)
|
||||
|
||||
|
||||
@@ -1977,6 +1977,35 @@ func (s *apiRPCServer) SearchChannels(args *Z_SearchChannelsArgs, returns *Z_Sea
|
||||
return nil
|
||||
}
|
||||
|
||||
type Z_SearchUsersArgs struct {
|
||||
A *model.UserSearch
|
||||
}
|
||||
|
||||
type Z_SearchUsersReturns struct {
|
||||
A []*model.User
|
||||
B *model.AppError
|
||||
}
|
||||
|
||||
func (g *apiRPCClient) SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError) {
|
||||
_args := &Z_SearchUsersArgs{search}
|
||||
_returns := &Z_SearchUsersReturns{}
|
||||
if err := g.client.Call("Plugin.SearchUsers", _args, _returns); err != nil {
|
||||
log.Printf("RPC call to SearchUsers API failed: %s", err.Error())
|
||||
}
|
||||
return _returns.A, _returns.B
|
||||
}
|
||||
|
||||
func (s *apiRPCServer) SearchUsers(args *Z_SearchUsersArgs, returns *Z_SearchUsersReturns) error {
|
||||
if hook, ok := s.impl.(interface {
|
||||
SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError)
|
||||
}); ok {
|
||||
returns.A, returns.B = hook.SearchUsers(args.A)
|
||||
} else {
|
||||
return encodableError(fmt.Errorf("API SearchUsers called but not implemented."))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Z_AddChannelMemberArgs struct {
|
||||
A string
|
||||
B string
|
||||
|
||||
@@ -1908,6 +1908,31 @@ func (_m *API) SearchChannels(teamId string, term string) ([]*model.Channel, *mo
|
||||
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)
|
||||
|
||||
var r0 []*model.User
|
||||
if rf, ok := ret.Get(0).(func(*model.UserSearch) []*model.User); ok {
|
||||
r0 = rf(search)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).([]*model.User)
|
||||
}
|
||||
}
|
||||
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(*model.UserSearch) *model.AppError); ok {
|
||||
r1 = rf(search)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SendEphemeralPost provides a mock function with given fields: userId, post
|
||||
func (_m *API) SendEphemeralPost(userId string, post *model.Post) *model.Post {
|
||||
ret := _m.Called(userId, post)
|
||||
|
||||
Ссылка в новой задаче
Block a user