From 00787974d0a87b1a54f15cf75d2dab398546b87e Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 4 Nov 2016 12:27:19 -0400 Subject: 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 --- store/sql_team_store.go | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'store/sql_team_store.go') 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 } -- cgit v1.2.3-1-g7c22