diff options
Diffstat (limited to 'store/sql_session_store.go')
-rw-r--r-- | store/sql_session_store.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/store/sql_session_store.go b/store/sql_session_store.go index 8dccc0770..6fe71db17 100644 --- a/store/sql_session_store.go +++ b/store/sql_session_store.go @@ -255,3 +255,32 @@ func (me SqlSessionStore) UpdateDeviceId(id, deviceId string) StoreChannel { return storeChannel } + +func (me SqlSessionStore) AnalyticsSessionCount(teamId string) StoreChannel { + storeChannel := make(StoreChannel) + + go func() { + result := StoreResult{} + + query := + `SELECT + COUNT(*) + FROM + Sessions` + + if len(teamId) > 0 { + query += " WHERE TeamId = :TeamId" + } + + if c, err := me.GetReplica().SelectInt(query, map[string]interface{}{"TeamId": teamId}); err != nil { + result.Err = model.NewLocAppError("SqlSessionStore.AnalyticsSessionCount", "store.sql_session.analytics_session_count.app_error", nil, err.Error()) + } else { + result.Data = c + } + + storeChannel <- result + close(storeChannel) + }() + + return storeChannel +} |