diff options
author | Corey Hulen <corey@hulen.com> | 2015-10-12 14:22:05 -0700 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2015-10-12 14:22:05 -0700 |
commit | 191e248b0fbe833c0c52e1e6145f4d19b4c3a7b6 (patch) | |
tree | 63378d3100f0a70806767c87886b3e0b9037f8c5 /store | |
parent | 246c7414bd2f22a3440af5df7d72f33e7207dc50 (diff) | |
parent | a6a3c351a828441313e90c1ac8e6afbfadad1f7c (diff) | |
download | chat-191e248b0fbe833c0c52e1e6145f4d19b4c3a7b6.tar.gz chat-191e248b0fbe833c0c52e1e6145f4d19b4c3a7b6.tar.bz2 chat-191e248b0fbe833c0c52e1e6145f4d19b4c3a7b6.zip |
Merge pull request #1022 from mattermost/release-1.1.0
Release 1.1.0rc merging to master
Diffstat (limited to 'store')
-rw-r--r-- | store/sql_user_store.go | 21 | ||||
-rw-r--r-- | store/sql_user_store_test.go | 20 | ||||
-rw-r--r-- | store/store.go | 1 |
3 files changed, 41 insertions, 1 deletions
diff --git a/store/sql_user_store.go b/store/sql_user_store.go index 011acd7e4..dc6b07a16 100644 --- a/store/sql_user_store.go +++ b/store/sql_user_store.go @@ -530,3 +530,24 @@ func (us SqlUserStore) GetTotalUsersCount() StoreChannel { return storeChannel } + +func (us SqlUserStore) GetTotalActiveUsersCount() StoreChannel { + storeChannel := make(StoreChannel) + + go func() { + result := StoreResult{} + + time := model.GetMillis() - (1000 * 60 * 60 * 12) + + if count, err := us.GetReplica().SelectInt("SELECT COUNT(Id) FROM Users WHERE LastActivityAt > :Time", map[string]interface{}{"Time": time}); err != nil { + result.Err = model.NewAppError("SqlUserStore.GetTotalActiveUsersCount", "We could not count the users", err.Error()) + } else { + result.Data = count + } + + storeChannel <- result + close(storeChannel) + }() + + return storeChannel +} diff --git a/store/sql_user_store_test.go b/store/sql_user_store_test.go index be21c8bd2..874baf634 100644 --- a/store/sql_user_store_test.go +++ b/store/sql_user_store_test.go @@ -206,7 +206,7 @@ func TestUserStoreGet(t *testing.T) { } } -func TestUserCountt(t *testing.T) { +func TestUserCount(t *testing.T) { Setup() u1 := model.User{} @@ -224,6 +224,24 @@ func TestUserCountt(t *testing.T) { } } +func TestActiveUserCount(t *testing.T) { + Setup() + + u1 := model.User{} + u1.TeamId = model.NewId() + u1.Email = model.NewId() + Must(store.User().Save(&u1)) + + if result := <-store.User().GetTotalActiveUsersCount(); result.Err != nil { + t.Fatal(result.Err) + } else { + count := result.Data.(int64) + if count <= 0 { + t.Fatal() + } + } +} + func TestUserStoreGetProfiles(t *testing.T) { Setup() diff --git a/store/store.go b/store/store.go index 1c4d08e36..e539bc98a 100644 --- a/store/store.go +++ b/store/store.go @@ -104,6 +104,7 @@ type UserStore interface { UpdateFailedPasswordAttempts(userId string, attempts int) StoreChannel GetForExport(teamId string) StoreChannel GetTotalUsersCount() StoreChannel + GetTotalActiveUsersCount() StoreChannel GetSystemAdminProfiles() StoreChannel } |