summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/team.go21
-rw-r--r--api/team_test.go28
2 files changed, 41 insertions, 8 deletions
diff --git a/api/team.go b/api/team.go
index 5a8c605ef..b1a1ae3cd 100644
--- a/api/team.go
+++ b/api/team.go
@@ -902,16 +902,27 @@ func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
- if result := <-Srv.Store.Team().GetMemberCount(c.TeamId); result.Err != nil {
+ tchan := Srv.Store.Team().GetTotalMemberCount(c.TeamId)
+ achan := Srv.Store.Team().GetActiveMemberCount(c.TeamId)
+
+ stats := &model.TeamStats{}
+ stats.TeamId = c.TeamId
+
+ if result := <-tchan; result.Err != nil {
c.Err = result.Err
return
} else {
- stats := &model.TeamStats{}
- stats.MemberCount = result.Data.(int64)
- stats.TeamId = c.TeamId
- w.Write([]byte(stats.ToJson()))
+ stats.TotalMemberCount = result.Data.(int64)
+ }
+
+ if result := <-achan; result.Err != nil {
+ c.Err = result.Err
return
+ } else {
+ stats.ActiveMemberCount = result.Data.(int64)
}
+
+ w.Write([]byte(stats.ToJson()))
}
func importTeam(c *Context, w http.ResponseWriter, r *http.Request) {
diff --git a/api/team_test.go b/api/team_test.go
index bac0228ad..ec3c40e51 100644
--- a/api/team_test.go
+++ b/api/team_test.go
@@ -706,7 +706,25 @@ func TestGetTeamStats(t *testing.T) {
if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil {
t.Fatal(err)
} else {
- if result.Data.(*model.TeamStats).MemberCount != 2 {
+ if result.Data.(*model.TeamStats).TotalMemberCount != 2 {
+ t.Fatal("wrong count")
+ }
+
+ if result.Data.(*model.TeamStats).ActiveMemberCount != 2 {
+ t.Fatal("wrong count")
+ }
+ }
+
+ th.SystemAdminClient.Must(th.SystemAdminClient.UpdateActive(th.BasicUser2.Id, false))
+
+ if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil {
+ t.Fatal(err)
+ } else {
+ if result.Data.(*model.TeamStats).TotalMemberCount != 2 {
+ t.Fatal("wrong count")
+ }
+
+ if result.Data.(*model.TeamStats).ActiveMemberCount != 1 {
t.Fatal("wrong count")
}
}
@@ -714,7 +732,11 @@ func TestGetTeamStats(t *testing.T) {
if result, err := th.SystemAdminClient.GetTeamStats("junk"); err != nil {
t.Fatal(err)
} else {
- if result.Data.(*model.TeamStats).MemberCount != 0 {
+ if result.Data.(*model.TeamStats).TotalMemberCount != 0 {
+ t.Fatal("wrong count")
+ }
+
+ if result.Data.(*model.TeamStats).ActiveMemberCount != 0 {
t.Fatal("wrong count")
}
}
@@ -722,7 +744,7 @@ func TestGetTeamStats(t *testing.T) {
if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil {
t.Fatal(err)
} else {
- if result.Data.(*model.TeamStats).MemberCount != 2 {
+ if result.Data.(*model.TeamStats).TotalMemberCount != 2 {
t.Fatal("wrong count")
}
}