summaryrefslogtreecommitdiffstats
path: root/store/sql_team_store.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-11-04 12:27:19 -0400
committerChristopher Speller <crspeller@gmail.com>2016-11-04 12:27:19 -0400
commit00787974d0a87b1a54f15cf75d2dab398546b87e (patch)
tree6f41b56b10183b6543309b790cd13b1fbf7559af /store/sql_team_store.go
parent263f29068386cdd3b5393e00ce97f776532c723f (diff)
downloadchat-00787974d0a87b1a54f15cf75d2dab398546b87e.tar.gz
chat-00787974d0a87b1a54f15cf75d2dab398546b87e.tar.bz2
chat-00787974d0a87b1a54f15cf75d2dab398546b87e.zip
PLT-4481 Fix member count for team user lists and channel invite list (#4422)
* Fix member count for team user lists and channel invite list * Fix client unit test
Diffstat (limited to 'store/sql_team_store.go')
-rw-r--r--store/sql_team_store.go35
1 files changed, 32 insertions, 3 deletions
diff --git a/store/sql_team_store.go b/store/sql_team_store.go
index cc425ccf6..00f1f5c61 100644
--- a/store/sql_team_store.go
+++ b/store/sql_team_store.go
@@ -467,7 +467,7 @@ func (s SqlTeamStore) GetMembers(teamId string, offset int, limit int) StoreChan
return storeChannel
}
-func (s SqlTeamStore) GetMemberCount(teamId string) StoreChannel {
+func (s SqlTeamStore) GetTotalMemberCount(teamId string) StoreChannel {
storeChannel := make(StoreChannel, 1)
go func() {
@@ -482,10 +482,39 @@ func (s SqlTeamStore) GetMemberCount(teamId string) StoreChannel {
WHERE
TeamMembers.UserId = Users.Id
AND TeamMembers.TeamId = :TeamId
- AND TeamMembers.DeleteAt = 0
+ AND TeamMembers.DeleteAt = 0`, map[string]interface{}{"TeamId": teamId})
+ if err != nil {
+ result.Err = model.NewLocAppError("SqlTeamStore.GetTotalMemberCount", "store.sql_team.get_member_count.app_error", nil, "teamId="+teamId+" "+err.Error())
+ } else {
+ result.Data = count
+ }
+
+ storeChannel <- result
+ close(storeChannel)
+ }()
+
+ return storeChannel
+}
+
+func (s SqlTeamStore) GetActiveMemberCount(teamId string) StoreChannel {
+ storeChannel := make(StoreChannel, 1)
+
+ go func() {
+ result := StoreResult{}
+
+ count, err := s.GetReplica().SelectInt(`
+ SELECT
+ count(*)
+ FROM
+ TeamMembers,
+ Users
+ WHERE
+ TeamMembers.UserId = Users.Id
+ AND TeamMembers.TeamId = :TeamId
+ AND TeamMembers.DeleteAt = 0
AND Users.DeleteAt = 0`, map[string]interface{}{"TeamId": teamId})
if err != nil {
- result.Err = model.NewLocAppError("SqlTeamStore.GetMemberCount", "store.sql_team.get_member_count.app_error", nil, "teamId="+teamId+" "+err.Error())
+ result.Err = model.NewLocAppError("SqlTeamStore.GetActiveMemberCount", "store.sql_team.get_member_count.app_error", nil, "teamId="+teamId+" "+err.Error())
} else {
result.Data = count
}