diff options
Diffstat (limited to 'store/sqlstore/tokens_store.go')
-rw-r--r-- | store/sqlstore/tokens_store.go | 44 |
1 files changed, 6 insertions, 38 deletions
diff --git a/store/sqlstore/tokens_store.go b/store/sqlstore/tokens_store.go index 31e39f1fe..ccb58cef1 100644 --- a/store/sqlstore/tokens_store.go +++ b/store/sqlstore/tokens_store.go @@ -34,54 +34,27 @@ func (s SqlTokenStore) CreateIndexesIfNotExists() { } func (s SqlTokenStore) Save(token *model.Token) store.StoreChannel { - - storeChannel := make(store.StoreChannel, 1) - - go func() { - result := store.StoreResult{} - + return store.Do(func(result *store.StoreResult) { if result.Err = token.IsValid(); result.Err != nil { - storeChannel <- result - close(storeChannel) return } if err := s.GetMaster().Insert(token); err != nil { result.Err = model.NewAppError("SqlTokenStore.Save", "store.sql_recover.save.app_error", nil, "", http.StatusInternalServerError) } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel + }) } func (s SqlTokenStore) Delete(token string) store.StoreChannel { - - storeChannel := make(store.StoreChannel, 1) - - go func() { - result := store.StoreResult{} - + return store.Do(func(result *store.StoreResult) { if _, err := s.GetMaster().Exec("DELETE FROM Tokens WHERE Token = :Token", map[string]interface{}{"Token": token}); err != nil { result.Err = model.NewAppError("SqlTokenStore.Delete", "store.sql_recover.delete.app_error", nil, "", http.StatusInternalServerError) } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel + }) } func (s SqlTokenStore) GetByToken(tokenString string) store.StoreChannel { - - storeChannel := make(store.StoreChannel, 1) - - go func() { - result := store.StoreResult{} - + return store.Do(func(result *store.StoreResult) { token := model.Token{} if err := s.GetReplica().SelectOne(&token, "SELECT * FROM Tokens WHERE Token = :Token", map[string]interface{}{"Token": tokenString}); err != nil { @@ -93,12 +66,7 @@ func (s SqlTokenStore) GetByToken(tokenString string) store.StoreChannel { } result.Data = &token - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel + }) } func (s SqlTokenStore) Cleanup() { |