mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Migrate 'UserAccessToken.GetByToken' to Sync by default (#11321)
This commit is contained in:
committed by
Jesús Espino
parent
66993e1fae
commit
e9e65fe8bb
@@ -262,12 +262,10 @@ func (a *App) CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAc
|
||||
}
|
||||
|
||||
func (a *App) createSessionForUserAccessToken(tokenString string) (*model.Session, *model.AppError) {
|
||||
var token *model.UserAccessToken
|
||||
result := <-a.Srv.Store.UserAccessToken().GetByToken(tokenString)
|
||||
if result.Err != nil {
|
||||
return nil, model.NewAppError("createSessionForUserAccessToken", "app.user_access_token.invalid_or_missing", nil, result.Err.Error(), http.StatusUnauthorized)
|
||||
token, err := a.Srv.Store.UserAccessToken().GetByToken(tokenString)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("createSessionForUserAccessToken", "app.user_access_token.invalid_or_missing", nil, err.Error(), http.StatusUnauthorized)
|
||||
}
|
||||
token = result.Data.(*model.UserAccessToken)
|
||||
|
||||
if !token.IsActive {
|
||||
return nil, model.NewAppError("createSessionForUserAccessToken", "app.user_access_token.invalid_or_missing", nil, "inactive_token", http.StatusUnauthorized)
|
||||
|
||||
@@ -172,20 +172,17 @@ func (s SqlUserAccessTokenStore) GetAll(offset, limit int) ([]*model.UserAccessT
|
||||
return tokens, nil
|
||||
}
|
||||
|
||||
func (s SqlUserAccessTokenStore) GetByToken(tokenString string) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
token := model.UserAccessToken{}
|
||||
func (s SqlUserAccessTokenStore) GetByToken(tokenString string) (*model.UserAccessToken, *model.AppError) {
|
||||
token := model.UserAccessToken{}
|
||||
|
||||
if err := s.GetReplica().SelectOne(&token, "SELECT * FROM UserAccessTokens WHERE Token = :Token", map[string]interface{}{"Token": tokenString}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlUserAccessTokenStore.GetByToken", "store.sql_user_access_token.get_by_token.app_error", nil, err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlUserAccessTokenStore.GetByToken", "store.sql_user_access_token.get_by_token.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
if err := s.GetReplica().SelectOne(&token, "SELECT * FROM UserAccessTokens WHERE Token = :Token", map[string]interface{}{"Token": tokenString}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlUserAccessTokenStore.GetByToken", "store.sql_user_access_token.get_by_token.app_error", nil, err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlUserAccessTokenStore.GetByToken", "store.sql_user_access_token.get_by_token.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = &token
|
||||
})
|
||||
return &token, nil
|
||||
}
|
||||
|
||||
func (s SqlUserAccessTokenStore) GetByUser(userId string, offset, limit int) store.StoreChannel {
|
||||
|
||||
@@ -520,7 +520,7 @@ type UserAccessTokenStore interface {
|
||||
DeleteAllForUser(userId string) StoreChannel
|
||||
Get(tokenId string) (*model.UserAccessToken, *model.AppError)
|
||||
GetAll(offset int, limit int) ([]*model.UserAccessToken, *model.AppError)
|
||||
GetByToken(tokenString string) StoreChannel
|
||||
GetByToken(tokenString string) (*model.UserAccessToken, *model.AppError)
|
||||
GetByUser(userId string, page, perPage int) StoreChannel
|
||||
Search(term string) StoreChannel
|
||||
UpdateTokenEnable(tokenId string) StoreChannel
|
||||
|
||||
@@ -96,19 +96,28 @@ func (_m *UserAccessTokenStore) GetAll(offset int, limit int) ([]*model.UserAcce
|
||||
}
|
||||
|
||||
// GetByToken provides a mock function with given fields: tokenString
|
||||
func (_m *UserAccessTokenStore) GetByToken(tokenString string) store.StoreChannel {
|
||||
func (_m *UserAccessTokenStore) GetByToken(tokenString string) (*model.UserAccessToken, *model.AppError) {
|
||||
ret := _m.Called(tokenString)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.UserAccessToken
|
||||
if rf, ok := ret.Get(0).(func(string) *model.UserAccessToken); ok {
|
||||
r0 = rf(tokenString)
|
||||
} else {
|
||||
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(tokenString)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetByUser provides a mock function with given fields: userId, page, perPage
|
||||
|
||||
@@ -41,13 +41,13 @@ func testUserAccessTokenSaveGetDelete(t *testing.T, ss store.Store) {
|
||||
t.Fatal("received incorrect token after save")
|
||||
}
|
||||
|
||||
if result := <-ss.UserAccessToken().GetByToken(uat.Token); result.Err != nil {
|
||||
t.Fatal(result.Err)
|
||||
} else if received := result.Data.(*model.UserAccessToken); received.Token != uat.Token {
|
||||
if received, err2 := ss.UserAccessToken().GetByToken(uat.Token); err2 != nil {
|
||||
t.Fatal(err2)
|
||||
} else if received.Token != uat.Token {
|
||||
t.Fatal("received incorrect token after save")
|
||||
}
|
||||
|
||||
if result := <-ss.UserAccessToken().GetByToken("notarealtoken"); result.Err == nil {
|
||||
if _, err = ss.UserAccessToken().GetByToken("notarealtoken"); err == nil {
|
||||
t.Fatal("should have failed on bad token")
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ func testUserAccessTokenSaveGetDelete(t *testing.T, ss store.Store) {
|
||||
t.Fatal("should error - session should be deleted")
|
||||
}
|
||||
|
||||
if err = (<-ss.UserAccessToken().GetByToken(s1.Token)).Err; err == nil {
|
||||
if _, err = ss.UserAccessToken().GetByToken(s1.Token); err == nil {
|
||||
t.Fatal("should error - access token should be deleted")
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ func testUserAccessTokenSaveGetDelete(t *testing.T, ss store.Store) {
|
||||
t.Fatal("should error - session should be deleted")
|
||||
}
|
||||
|
||||
if err := (<-ss.UserAccessToken().GetByToken(s2.Token)).Err; err == nil {
|
||||
if _, err := ss.UserAccessToken().GetByToken(s2.Token); err == nil {
|
||||
t.Fatal("should error - access token should be deleted")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user