Implement GET /users/autocomplete endpoint for APIv4 (#5742)

Этот коммит содержится в:
Joram Wilander
2017-03-13 08:29:41 -04:00
коммит произвёл George Goldberg
родитель c372ceebf8
Коммит 1860d05d62
8 изменённых файлов: 287 добавлений и 39 удалений

Просмотреть файл

@@ -1538,11 +1538,11 @@ func searchUsers(c *Context, w http.ResponseWriter, r *http.Request) {
var profiles []*model.User
var err *model.AppError
if props.InChannelId != "" {
profiles, err = app.SearchUsersInChannel(props.InChannelId, props.Term, searchOptions)
profiles, err = app.SearchUsersInChannel(props.InChannelId, props.Term, searchOptions, c.IsSystemAdmin())
} else if props.NotInChannelId != "" {
profiles, err = app.SearchUsersNotInChannel(props.TeamId, props.NotInChannelId, props.Term, searchOptions)
profiles, err = app.SearchUsersNotInChannel(props.TeamId, props.NotInChannelId, props.Term, searchOptions, c.IsSystemAdmin())
} else {
profiles, err = app.SearchUsersInTeam(props.TeamId, props.Term, searchOptions)
profiles, err = app.SearchUsersInTeam(props.TeamId, props.Term, searchOptions, c.IsSystemAdmin())
}
if err != nil {
@@ -1550,10 +1550,6 @@ func searchUsers(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
for _, p := range profiles {
sanitizeProfile(c, p)
}
w.Write([]byte(model.UserListToJson(profiles)))
}
@@ -1604,20 +1600,12 @@ func autocompleteUsersInChannel(c *Context, w http.ResponseWriter, r *http.Reque
searchOptions[store.USER_SEARCH_OPTION_NAMES_ONLY] = true
}
autocomplete, err := app.AutocompleteUsersInChannel(teamId, channelId, term, searchOptions)
autocomplete, err := app.AutocompleteUsersInChannel(teamId, channelId, term, searchOptions, c.IsSystemAdmin())
if err != nil {
c.Err = err
return
}
for _, p := range autocomplete.InChannel {
sanitizeProfile(c, p)
}
for _, p := range autocomplete.OutOfChannel {
sanitizeProfile(c, p)
}
w.Write([]byte(autocomplete.ToJson()))
}
@@ -1642,16 +1630,12 @@ func autocompleteUsersInTeam(c *Context, w http.ResponseWriter, r *http.Request)
searchOptions[store.USER_SEARCH_OPTION_NAMES_ONLY] = true
}
autocomplete, err := app.AutocompleteUsersInTeam(teamId, term, searchOptions)
autocomplete, err := app.AutocompleteUsersInTeam(teamId, term, searchOptions, c.IsSystemAdmin())
if err != nil {
c.Err = err
return
}
for _, p := range autocomplete.InTeam {
sanitizeProfile(c, p)
}
w.Write([]byte(autocomplete.ToJson()))
}
@@ -1670,14 +1654,10 @@ func autocompleteUsers(c *Context, w http.ResponseWriter, r *http.Request) {
var profiles []*model.User
var err *model.AppError
if profiles, err = app.SearchUsersInTeam("", term, searchOptions); err != nil {
if profiles, err = app.SearchUsersInTeam("", term, searchOptions, c.IsSystemAdmin()); err != nil {
c.Err = err
return
}
for _, p := range profiles {
sanitizeProfile(c, p)
}
w.Write([]byte(model.UserListToJson(profiles)))
}