summaryrefslogtreecommitdiffstats
path: root/store
diff options
context:
space:
mode:
authorAdrian Carolli <adrian.caarolli@gmail.com>2018-01-05 14:46:48 -0500
committerJoram Wilander <jwawilander@gmail.com>2018-01-05 14:46:48 -0500
commitfd3fa8f8dcfa5de42a16db9b62e1d6628f43b0fd (patch)
treef60a1d693dc554dddfc9a365e53420359be932a1 /store
parent66bdf830b5c7bc2e2fe7598355a142720010de91 (diff)
downloadchat-fd3fa8f8dcfa5de42a16db9b62e1d6628f43b0fd.tar.gz
chat-fd3fa8f8dcfa5de42a16db9b62e1d6628f43b0fd.tar.bz2
chat-fd3fa8f8dcfa5de42a16db9b62e1d6628f43b0fd.zip
[PLT-7793] Added /users/tokens endpoint (#8038)
* Added /users/tokens/all endpoint - UserAccessStore now has getAll method - Added tests - Added route - Added handler * Remove space fix check-style * Remove blank space check-style * Fixes for make check-style * Remove extra code that is un-needed in user_test.go * Rename endpoint + grammar - Renamed /users/tokens/all to /users/tokens - Renamed getUserAccessTokens to getUserAccessTokensForUser - Renamed getAllUserAccessTokens to getUserAccessTokens - Minor Grammar changes * Add localization for sql_user_access_token.get_all * Fix minor plural spelling
Diffstat (limited to 'store')
-rw-r--r--store/sqlstore/user_access_token_store.go12
-rw-r--r--store/store.go1
-rw-r--r--store/storetest/mocks/UserAccessTokenStore.go16
-rw-r--r--store/storetest/user_access_token_store.go6
4 files changed, 35 insertions, 0 deletions
diff --git a/store/sqlstore/user_access_token_store.go b/store/sqlstore/user_access_token_store.go
index 530ba8d16..deba9f7ea 100644
--- a/store/sqlstore/user_access_token_store.go
+++ b/store/sqlstore/user_access_token_store.go
@@ -171,6 +171,18 @@ func (s SqlUserAccessTokenStore) Get(tokenId string) store.StoreChannel {
})
}
+func (s SqlUserAccessTokenStore) GetAll(offset, limit int) store.StoreChannel {
+ return store.Do(func(result *store.StoreResult) {
+ tokens := []*model.UserAccessToken{}
+
+ if _, err := s.GetReplica().Select(&tokens, "SELECT * FROM UserAccessTokens LIMIT :Limit OFFSET :Offset", map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil {
+ result.Err = model.NewAppError("SqlUserAccessTokenStore.GetAll", "store.sql_user_access_token.get_all.app_error", nil, err.Error(), http.StatusInternalServerError)
+ }
+
+ result.Data = tokens
+ })
+}
+
func (s SqlUserAccessTokenStore) GetByToken(tokenString string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
token := model.UserAccessToken{}
diff --git a/store/store.go b/store/store.go
index 6ca07c294..de8bd4635 100644
--- a/store/store.go
+++ b/store/store.go
@@ -446,6 +446,7 @@ type UserAccessTokenStore interface {
Delete(tokenId string) StoreChannel
DeleteAllForUser(userId string) StoreChannel
Get(tokenId string) StoreChannel
+ GetAll(offset int, limit int) StoreChannel
GetByToken(tokenString string) StoreChannel
GetByUser(userId string, page, perPage int) StoreChannel
UpdateTokenEnable(tokenId string) StoreChannel
diff --git a/store/storetest/mocks/UserAccessTokenStore.go b/store/storetest/mocks/UserAccessTokenStore.go
index 87541fd76..60e08076c 100644
--- a/store/storetest/mocks/UserAccessTokenStore.go
+++ b/store/storetest/mocks/UserAccessTokenStore.go
@@ -61,6 +61,22 @@ func (_m *UserAccessTokenStore) Get(tokenId string) store.StoreChannel {
return r0
}
+// GetAll provides a mock function with given fields:
+func (_m *UserAccessTokenStore) GetAll(page int, perPage int) store.StoreChannel {
+ ret := _m.Called(page, perPage)
+
+ var r0 store.StoreChannel
+ if rf, ok := ret.Get(0).(func(int, int) store.StoreChannel); ok {
+ r0 = rf(page, perPage)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(store.StoreChannel)
+ }
+ }
+
+ return r0
+}
+
// GetByToken provides a mock function with given fields: tokenString
func (_m *UserAccessTokenStore) GetByToken(tokenString string) store.StoreChannel {
ret := _m.Called(tokenString)
diff --git a/store/storetest/user_access_token_store.go b/store/storetest/user_access_token_store.go
index 661c969da..c32023d30 100644
--- a/store/storetest/user_access_token_store.go
+++ b/store/storetest/user_access_token_store.go
@@ -54,6 +54,12 @@ func testUserAccessTokenSaveGetDelete(t *testing.T, ss store.Store) {
t.Fatal("received incorrect number of tokens after save")
}
+ if result := <-ss.UserAccessToken().GetAll(0, 100); result.Err != nil {
+ t.Fatal(result.Err)
+ } else if received := result.Data.([]*model.UserAccessToken); len(received) != 1 {
+ t.Fatal("received incorrect number of tokens after save")
+ }
+
if result := <-ss.UserAccessToken().Delete(uat.Id); result.Err != nil {
t.Fatal(result.Err)
}