diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-06-30 12:07:23 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2017-06-30 12:07:23 -0400 |
commit | 5507154992eedd323385c37e59b2008586b9aaa0 (patch) | |
tree | b017d2a40207cb437b9aa84703990577539df9f8 /app | |
parent | 6b77a054c25acb0437a58107c4592ad66c830993 (diff) | |
download | chat-5507154992eedd323385c37e59b2008586b9aaa0.tar.gz chat-5507154992eedd323385c37e59b2008586b9aaa0.tar.bz2 chat-5507154992eedd323385c37e59b2008586b9aaa0.zip |
Add some basic sorting support for GET /users endpoint (#6801)
Diffstat (limited to 'app')
-rw-r--r-- | app/analytics.go | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/app/analytics.go b/app/analytics.go index 78e1fe7b4..35fbddd89 100644 --- a/app/analytics.go +++ b/app/analytics.go @@ -231,9 +231,38 @@ func GetAnalytics(name string, teamId string) (model.AnalyticsRows, *model.AppEr } func GetRecentlyActiveUsersForTeam(teamId string) (map[string]*model.User, *model.AppError) { - if result := <-Srv.Store.User().GetRecentlyActiveUsersForTeam(teamId); result.Err != nil { + if result := <-Srv.Store.User().GetRecentlyActiveUsersForTeam(teamId, 0, 100); result.Err != nil { return nil, result.Err } else { - return result.Data.(map[string]*model.User), nil + users := result.Data.([]*model.User) + userMap := make(map[string]*model.User) + + for _, user := range users { + userMap[user.Id] = user + } + + return userMap, nil + } +} + +func GetRecentlyActiveUsersForTeamPage(teamId string, page, perPage int, asAdmin bool) ([]*model.User, *model.AppError) { + var users []*model.User + if result := <-Srv.Store.User().GetRecentlyActiveUsersForTeam(teamId, page*perPage, perPage); result.Err != nil { + return nil, result.Err + } else { + users = result.Data.([]*model.User) } + + return sanitizeProfiles(users, asAdmin), nil +} + +func GetNewUsersForTeamPage(teamId string, page, perPage int, asAdmin bool) ([]*model.User, *model.AppError) { + var users []*model.User + if result := <-Srv.Store.User().GetNewUsersForTeam(teamId, page*perPage, perPage); result.Err != nil { + return nil, result.Err + } else { + users = result.Data.([]*model.User) + } + + return sanitizeProfiles(users, asAdmin), nil } |