diff options
author | Corey Hulen <corey@hulen.com> | 2016-03-02 12:22:11 -0800 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2016-03-02 12:22:11 -0800 |
commit | c52153bf601cee5bc21e9e79efcd1fdd5ef1dac7 (patch) | |
tree | 822f5614a031f8d65c3ddca7e3e3dfec1152e053 /store/sql_session_store.go | |
parent | cddc9df7c4371e4240d65c6874155e1ce85adff0 (diff) | |
parent | fbb71cab4b4c0289c1f071f9fa2e61b0b0237ece (diff) | |
download | chat-c52153bf601cee5bc21e9e79efcd1fdd5ef1dac7.tar.gz chat-c52153bf601cee5bc21e9e79efcd1fdd5ef1dac7.tar.bz2 chat-c52153bf601cee5bc21e9e79efcd1fdd5ef1dac7.zip |
Merge pull request #2258 from mattermost/plt-1796
PLT-1796 Refactor and modularize analytics on the client
Diffstat (limited to 'store/sql_session_store.go')
-rw-r--r-- | store/sql_session_store.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/store/sql_session_store.go b/store/sql_session_store.go index 8dccc0770..337ad16e6 100644 --- a/store/sql_session_store.go +++ b/store/sql_session_store.go @@ -255,3 +255,33 @@ 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 + WHERE ExpiresAt > :Time` + + if len(teamId) > 0 { + query += " AND TeamId = :TeamId" + } + + if c, err := me.GetReplica().SelectInt(query, map[string]interface{}{"Time": model.GetMillis(), "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 +} |