summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-13 08:29:41 -0400
committerGeorge Goldberg <george@gberg.me>2017-03-13 12:29:41 +0000
commit1860d05d623b6fd7670121a7e2391605d1281b27 (patch)
tree8ac40b5663473342fed4ba2a146e2551e9f56ab6 /api
parentc372ceebf87295408072a40c63df7c4be9bc2abc (diff)
downloadchat-1860d05d623b6fd7670121a7e2391605d1281b27.tar.gz
chat-1860d05d623b6fd7670121a7e2391605d1281b27.tar.bz2
chat-1860d05d623b6fd7670121a7e2391605d1281b27.zip
Implement GET /users/autocomplete endpoint for APIv4 (#5742)
Diffstat (limited to 'api')
-rw-r--r--api/user.go32
1 files changed, 6 insertions, 26 deletions
diff --git a/api/user.go b/api/user.go
index 183f4e100..0c268b338 100644
--- a/api/user.go
+++ b/api/user.go
@@ -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)))
}