summaryrefslogtreecommitdiffstats
path: root/app/analytics.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-06-30 12:07:23 -0400
committerHarrison Healey <harrisonmhealey@gmail.com>2017-06-30 12:07:23 -0400
commit5507154992eedd323385c37e59b2008586b9aaa0 (patch)
treeb017d2a40207cb437b9aa84703990577539df9f8 /app/analytics.go
parent6b77a054c25acb0437a58107c4592ad66c830993 (diff)
downloadchat-5507154992eedd323385c37e59b2008586b9aaa0.tar.gz
chat-5507154992eedd323385c37e59b2008586b9aaa0.tar.bz2
chat-5507154992eedd323385c37e59b2008586b9aaa0.zip
Add some basic sorting support for GET /users endpoint (#6801)
Diffstat (limited to 'app/analytics.go')
-rw-r--r--app/analytics.go33
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
}