From d6537deb3ddace25b693932ae503b4fbdbe02935 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 2 May 2018 10:50:56 -0400 Subject: Add inactive user count to analytics and fix client analytics function (#8695) --- app/analytics.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'app/analytics.go') diff --git a/app/analytics.go b/app/analytics.go index 7a32e78c1..a09b56538 100644 --- a/app/analytics.go +++ b/app/analytics.go @@ -30,7 +30,7 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo } if name == "standard" { - var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 10) + var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 11) rows[0] = &model.AnalyticsRow{Name: "channel_open_count", Value: 0} rows[1] = &model.AnalyticsRow{Name: "channel_private_count", Value: 0} rows[2] = &model.AnalyticsRow{Name: "post_count", Value: 0} @@ -41,13 +41,17 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo rows[7] = &model.AnalyticsRow{Name: "total_read_db_connections", Value: 0} rows[8] = &model.AnalyticsRow{Name: "daily_active_users", Value: 0} rows[9] = &model.AnalyticsRow{Name: "monthly_active_users", Value: 0} + rows[10] = &model.AnalyticsRow{Name: "inactive_user_count", Value: 0} openChan := a.Srv.Store.Channel().AnalyticsTypeCount(teamId, model.CHANNEL_OPEN) privateChan := a.Srv.Store.Channel().AnalyticsTypeCount(teamId, model.CHANNEL_PRIVATE) teamChan := a.Srv.Store.Team().AnalyticsTeamCount() var userChan store.StoreChannel - if teamId != "" { + var userInactiveChan store.StoreChannel + if teamId == "" { + userInactiveChan = a.Srv.Store.User().AnalyticsGetInactiveUsersCount() + } else { userChan = a.Srv.Store.User().AnalyticsUniqueUserCount(teamId) } @@ -91,6 +95,16 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo } } + if userInactiveChan == nil { + rows[10].Value = -1 + } else { + if r := <-userInactiveChan; r.Err != nil { + return nil, r.Err + } else { + rows[10].Value = float64(r.Data.(int64)) + } + } + if r := <-teamChan; r.Err != nil { return nil, r.Err } else { -- cgit v1.2.3-1-g7c22