summaryrefslogtreecommitdiffstats
path: root/app/user.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-03-30 02:10:51 +0100
committerJoram Wilander <jwawilander@gmail.com>2017-03-29 21:10:51 -0400
commita4764a5c10ec59820eec7338d97be48d41c1a4d6 (patch)
tree665d61a0b0738b328b9d7514b8732a59787c20ce /app/user.go
parent6d6b8134462d9e718f21e76f9c47f73604574c9b (diff)
downloadchat-a4764a5c10ec59820eec7338d97be48d41c1a4d6.tar.gz
chat-a4764a5c10ec59820eec7338d97be48d41c1a4d6.tar.bz2
chat-a4764a5c10ec59820eec7338d97be48d41c1a4d6.zip
PLT-6083: API to get users not in a specific team. (#5888)
Diffstat (limited to 'app/user.go')
-rw-r--r--app/user.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/user.go b/app/user.go
index 40651f56a..1c2aca34f 100644
--- a/app/user.go
+++ b/app/user.go
@@ -447,6 +447,14 @@ func GetUsersInTeam(teamId string, offset int, limit int) ([]*model.User, *model
}
}
+func GetUsersNotInTeam(teamId string, offset int, limit int) ([]*model.User, *model.AppError) {
+ if result := <-Srv.Store.User().GetProfilesNotInTeam(teamId, offset, limit); result.Err != nil {
+ return nil, result.Err
+ } else {
+ return result.Data.([]*model.User), nil
+ }
+}
+
func GetUsersInTeamMap(teamId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError) {
users, err := GetUsersInTeam(teamId, offset, limit)
if err != nil {
@@ -476,10 +484,27 @@ func GetUsersInTeamPage(teamId string, page int, perPage int, asAdmin bool) ([]*
return users, nil
}
+func GetUsersNotInTeamPage(teamId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError) {
+ users, err := GetUsersNotInTeam(teamId, page*perPage, perPage)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, user := range users {
+ SanitizeProfile(user, asAdmin)
+ }
+
+ return users, nil
+}
+
func GetUsersInTeamEtag(teamId string) string {
return (<-Srv.Store.User().GetEtagForProfiles(teamId)).Data.(string)
}
+func GetUsersNotInTeamEtag(teamId string) string {
+ return (<-Srv.Store.User().GetEtagForProfilesNotInTeam(teamId)).Data.(string)
+}
+
func GetUsersInChannel(channelId string, offset int, limit int) ([]*model.User, *model.AppError) {
if result := <-Srv.Store.User().GetProfilesInChannel(channelId, offset, limit); result.Err != nil {
return nil, result.Err