Migrate UserAccessToken.Search to Sync by default (#11330)

Этот коммит содержится в:
Shobhit Gupta
2019-06-24 07:12:23 -07:00
коммит произвёл Jesús Espino
родитель cca41427a4
Коммит 331ded2421
5 изменённых файлов: 41 добавлений и 36 удалений

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

@@ -392,14 +392,12 @@ func (a *App) GetUserAccessToken(tokenId string, sanitize bool) (*model.UserAcce
} }
func (a *App) SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError) { func (a *App) SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError) {
result := <-a.Srv.Store.UserAccessToken().Search(term) tokens, err := a.Srv.Store.UserAccessToken().Search(term)
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 = ""
} }
return tokens, nil return tokens, nil
} }

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

@@ -192,8 +192,7 @@ func (s SqlUserAccessTokenStore) GetByUser(userId string, offset, limit int) ([]
return tokens, nil return tokens, nil
} }
func (s SqlUserAccessTokenStore) Search(term string) store.StoreChannel { func (s SqlUserAccessTokenStore) Search(term string) ([]*model.UserAccessToken, *model.AppError) {
return store.Do(func(result *store.StoreResult) {
tokens := []*model.UserAccessToken{} tokens := []*model.UserAccessToken{}
params := map[string]interface{}{"Term": term + "%"} params := map[string]interface{}{"Term": term + "%"}
query := ` query := `
@@ -205,11 +204,10 @@ func (s SqlUserAccessTokenStore) Search(term string) store.StoreChannel {
WHERE uat.Id LIKE :Term OR uat.UserId LIKE :Term OR u.Username LIKE :Term` WHERE uat.Id LIKE :Term OR uat.UserId LIKE :Term OR u.Username LIKE :Term`
if _, err := s.GetReplica().Select(&tokens, query, params); err != nil { if _, err := s.GetReplica().Select(&tokens, query, params); err != nil {
result.Err = model.NewAppError("SqlUserAccessTokenStore.Search", "store.sql_user_access_token.search.app_error", nil, "term="+term+", "+err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlUserAccessTokenStore.Search", "store.sql_user_access_token.search.app_error", nil, "term="+term+", "+err.Error(), http.StatusInternalServerError)
} }
result.Data = tokens return tokens, nil
})
} }
func (s SqlUserAccessTokenStore) UpdateTokenEnable(tokenId string) store.StoreChannel { func (s SqlUserAccessTokenStore) UpdateTokenEnable(tokenId string) store.StoreChannel {

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

@@ -524,7 +524,7 @@ type UserAccessTokenStore interface {
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) ([]*model.UserAccessToken, *model.AppError) GetByUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError)
Search(term string) StoreChannel Search(term string) ([]*model.UserAccessToken, *model.AppError)
UpdateTokenEnable(tokenId string) StoreChannel UpdateTokenEnable(tokenId string) StoreChannel
UpdateTokenDisable(tokenId string) *model.AppError UpdateTokenDisable(tokenId string) *model.AppError
} }

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

@@ -171,19 +171,28 @@ func (_m *UserAccessTokenStore) Save(token *model.UserAccessToken) (*model.UserA
} }
// Search provides a mock function with given fields: term // Search provides a mock function with given fields: term
func (_m *UserAccessTokenStore) Search(term string) store.StoreChannel { func (_m *UserAccessTokenStore) Search(term string) ([]*model.UserAccessToken, *model.AppError) {
ret := _m.Called(term) ret := _m.Called(term)
var r0 store.StoreChannel var r0 []*model.UserAccessToken
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string) []*model.UserAccessToken); ok {
r0 = rf(term) r0 = rf(term)
} 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) *model.AppError); ok {
r1 = rf(term)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// UpdateTokenDisable provides a mock function with given fields: tokenId // UpdateTokenDisable provides a mock function with given fields: tokenId

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

@@ -161,21 +161,21 @@ func testUserAccessTokenSearch(t *testing.T, ss store.Store) {
t.Fatal(err) t.Fatal(err)
} }
if result := <-ss.UserAccessToken().Search(uat.Id); result.Err != nil { if received, err := ss.UserAccessToken().Search(uat.Id); err != nil {
t.Fatal(result.Err) t.Fatal(err)
} else if received := result.Data.([]*model.UserAccessToken); len(received) != 1 { } else if len(received) != 1 {
t.Fatal("received incorrect number of tokens after search") t.Fatal("received incorrect number of tokens after search")
} }
if result := <-ss.UserAccessToken().Search(uat.UserId); result.Err != nil { if received, err := ss.UserAccessToken().Search(uat.UserId); err != nil {
t.Fatal(result.Err) t.Fatal(err)
} else if received := result.Data.([]*model.UserAccessToken); len(received) != 1 { } else if len(received) != 1 {
t.Fatal("received incorrect number of tokens after search") t.Fatal("received incorrect number of tokens after search")
} }
if result := <-ss.UserAccessToken().Search(u1.Username); result.Err != nil { if received, err := ss.UserAccessToken().Search(u1.Username); err != nil {
t.Fatal(result.Err) t.Fatal(err)
} else if received := result.Data.([]*model.UserAccessToken); len(received) != 1 { } else if len(received) != 1 {
t.Fatal("received incorrect number of tokens after search") t.Fatal("received incorrect number of tokens after search")
} }
} }