Migrate 'UserAccessToken.GetByUser' to Sync by default (#11322)

Этот коммит содержится в:
Shota Gvinepadze
2019-06-21 18:49:56 +04:00
коммит произвёл Jesús Espino
родитель d300f4a6ad
Коммит 2d00aed038
5 изменённых файлов: 27 добавлений и 21 удалений

Просмотреть файл

@@ -367,11 +367,10 @@ func (a *App) GetUserAccessTokens(page, perPage int) ([]*model.UserAccessToken,
} }
func (a *App) GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError) { func (a *App) GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError) {
result := <-a.Srv.Store.UserAccessToken().GetByUser(userId, page*perPage, perPage) tokens, err := a.Srv.Store.UserAccessToken().GetByUser(userId, page*perPage, perPage)
if result.Err != nil { if err != nil {
return nil, result.Err return nil, err
} }
tokens := result.Data.([]*model.UserAccessToken)
for _, token := range tokens { for _, token := range tokens {
token.Token = "" token.Token = ""
} }

Просмотреть файл

@@ -182,16 +182,14 @@ func (s SqlUserAccessTokenStore) GetByToken(tokenString string) (*model.UserAcce
return &token, nil return &token, nil
} }
func (s SqlUserAccessTokenStore) GetByUser(userId string, offset, limit int) store.StoreChannel { func (s SqlUserAccessTokenStore) GetByUser(userId string, offset, limit int) ([]*model.UserAccessToken, *model.AppError) {
return store.Do(func(result *store.StoreResult) { tokens := []*model.UserAccessToken{}
tokens := []*model.UserAccessToken{}
if _, err := s.GetReplica().Select(&tokens, "SELECT * FROM UserAccessTokens WHERE UserId = :UserId LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Offset": offset, "Limit": limit}); err != nil { if _, err := s.GetReplica().Select(&tokens, "SELECT * FROM UserAccessTokens WHERE UserId = :UserId LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Offset": offset, "Limit": limit}); err != nil {
result.Err = model.NewAppError("SqlUserAccessTokenStore.GetByUser", "store.sql_user_access_token.get_by_user.app_error", nil, err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlUserAccessTokenStore.GetByUser", "store.sql_user_access_token.get_by_user.app_error", nil, err.Error(), http.StatusInternalServerError)
} }
result.Data = tokens return tokens, nil
})
} }
func (s SqlUserAccessTokenStore) Search(term string) store.StoreChannel { func (s SqlUserAccessTokenStore) Search(term string) store.StoreChannel {

Просмотреть файл

@@ -521,7 +521,7 @@ type UserAccessTokenStore interface {
Get(tokenId string) (*model.UserAccessToken, *model.AppError) Get(tokenId string) (*model.UserAccessToken, *model.AppError)
GetAll(offset int, limit int) ([]*model.UserAccessToken, *model.AppError) GetAll(offset int, limit int) ([]*model.UserAccessToken, *model.AppError)
GetByToken(tokenString string) (*model.UserAccessToken, *model.AppError) GetByToken(tokenString string) (*model.UserAccessToken, *model.AppError)
GetByUser(userId string, page, perPage int) StoreChannel GetByUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError)
Search(term string) StoreChannel Search(term string) StoreChannel
UpdateTokenEnable(tokenId string) StoreChannel UpdateTokenEnable(tokenId string) StoreChannel
UpdateTokenDisable(tokenId string) StoreChannel UpdateTokenDisable(tokenId string) StoreChannel

Просмотреть файл

@@ -121,19 +121,28 @@ func (_m *UserAccessTokenStore) GetByToken(tokenString string) (*model.UserAcces
} }
// GetByUser provides a mock function with given fields: userId, page, perPage // GetByUser provides a mock function with given fields: userId, page, perPage
func (_m *UserAccessTokenStore) GetByUser(userId string, page int, perPage int) store.StoreChannel { func (_m *UserAccessTokenStore) GetByUser(userId string, page int, perPage int) ([]*model.UserAccessToken, *model.AppError) {
ret := _m.Called(userId, page, perPage) ret := _m.Called(userId, page, perPage)
var r0 store.StoreChannel var r0 []*model.UserAccessToken
if rf, ok := ret.Get(0).(func(string, int, int) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string, int, int) []*model.UserAccessToken); ok {
r0 = rf(userId, page, perPage) r0 = rf(userId, page, perPage)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).([]*model.UserAccessToken)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok {
r1 = rf(userId, page, perPage)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// Save provides a mock function with given fields: token // Save provides a mock function with given fields: token

Просмотреть файл

@@ -51,9 +51,9 @@ func testUserAccessTokenSaveGetDelete(t *testing.T, ss store.Store) {
t.Fatal("should have failed on bad token") t.Fatal("should have failed on bad token")
} }
if result := <-ss.UserAccessToken().GetByUser(uat.UserId, 0, 100); result.Err != nil { if received, err2 := ss.UserAccessToken().GetByUser(uat.UserId, 0, 100); err2 != nil {
t.Fatal(result.Err) t.Fatal(err2)
} else if received := result.Data.([]*model.UserAccessToken); len(received) != 1 { } else if len(received) != 1 {
t.Fatal("received incorrect number of tokens after save") t.Fatal("received incorrect number of tokens after save")
} }