Implement GET /users endpoint for APIv4 (#5277)

This commit is contained in:
Joram Wilander
2017-02-03 15:17:34 -05:00
committed by GitHub
parent 948b557453
commit 7ff2aef7fa
15 changed files with 603 additions and 87 deletions

View File

@@ -291,7 +291,7 @@ func (me *LoadTestProvider) PostsCommand(c *Context, channelId string, message s
var usernames []string
if result := <-app.Srv.Store.User().GetProfiles(c.TeamId, 0, 1000); result.Err == nil {
profileUsers := result.Data.(map[string]*model.User)
profileUsers := result.Data.([]*model.User)
usernames = make([]string, len(profileUsers))
i := 0
for _, userprof := range profileUsers {

View File

@@ -442,14 +442,10 @@ func getProfiles(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if profiles, err := app.GetUsers(offset, limit); err != nil {
if profiles, err := app.GetUsersMap(offset, limit, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
for k, p := range profiles {
profiles[k] = sanitizeProfile(c, p)
}
w.Header().Set(model.HEADER_ETAG_SERVER, etag)
w.Write([]byte(model.UserMapToJson(profiles)))
}
@@ -482,14 +478,10 @@ func getProfilesInTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if profiles, err := app.GetUsersInTeam(teamId, offset, limit); err != nil {
if profiles, err := app.GetUsersInTeamMap(teamId, offset, limit, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
for k, p := range profiles {
profiles[k] = sanitizeProfile(c, p)
}
w.Header().Set(model.HEADER_ETAG_SERVER, etag)
w.Write([]byte(model.UserMapToJson(profiles)))
}
@@ -523,17 +515,10 @@ func getProfilesInChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
var profiles map[string]*model.User
var profileErr *model.AppError
if profiles, err = app.GetUsersInChannel(channelId, offset, limit); profileErr != nil {
c.Err = profileErr
if profiles, err := app.GetUsersInChannelMap(channelId, offset, limit, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
for k, p := range profiles {
profiles[k] = sanitizeProfile(c, p)
}
w.Write([]byte(model.UserMapToJson(profiles)))
}
}
@@ -566,14 +551,10 @@ func getProfilesNotInChannel(c *Context, w http.ResponseWriter, r *http.Request)
return
}
if profiles, err := app.GetUsersNotInChannel(c.TeamId, channelId, offset, limit); err != nil {
if profiles, err := app.GetUsersNotInChannelMap(c.TeamId, channelId, offset, limit, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
for k, p := range profiles {
profiles[k] = sanitizeProfile(c, p)
}
w.Write([]byte(model.UserMapToJson(profiles)))
}
}