diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-05-02 10:50:56 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2018-05-02 07:50:56 -0700 |
commit | d6537deb3ddace25b693932ae503b4fbdbe02935 (patch) | |
tree | 64b3f9989e43459cfc815076fe460920a8796abe /app | |
parent | 1647614fc95b0cb9dd5c4c5699f4f7fbba0bee43 (diff) | |
download | chat-d6537deb3ddace25b693932ae503b4fbdbe02935.tar.gz chat-d6537deb3ddace25b693932ae503b4fbdbe02935.tar.bz2 chat-d6537deb3ddace25b693932ae503b4fbdbe02935.zip |
Add inactive user count to analytics and fix client analytics function (#8695)
Diffstat (limited to 'app')
-rw-r--r-- | app/analytics.go | 18 |
1 files changed, 16 insertions, 2 deletions
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 { |