diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-11-04 12:27:19 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-11-04 12:27:19 -0400 |
commit | 00787974d0a87b1a54f15cf75d2dab398546b87e (patch) | |
tree | 6f41b56b10183b6543309b790cd13b1fbf7559af /store/sql_team_store.go | |
parent | 263f29068386cdd3b5393e00ce97f776532c723f (diff) | |
download | chat-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.go | 35 |
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 } |