summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Kangas <gabek@real-ity.com>2022-04-30 21:51:55 -0700
committerGabe Kangas <gabek@real-ity.com>2022-04-30 21:51:55 -0700
commita507eba350820cec95842c9a0f456df418fe83c4 (patch)
tree8d892ac7b632fbc29337b2219b023950ac9db724
parent3bfa260e5ea05b70d7077412ffe610ea7d72e5f9 (diff)
Merge fixesgek/load-tests
-rw-r--r--core/user/user.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/core/user/user.go b/core/user/user.go
index d3ac23f4c..09f527d6a 100644
--- a/core/user/user.go
+++ b/core/user/user.go
@@ -17,7 +17,10 @@ import (
log "github.com/sirupsen/logrus"
)
-var _datastore *data.Datastore
+var (
+ _datastore *data.Datastore
+ _cachedGetUserByTokenStatement *sql.Stmt
+)
const (
moderatorScopeKey = "MODERATOR"
@@ -139,14 +142,14 @@ func create(user *User) error {
defer _datastore.DbLock.Unlock()
if createUserStatement == nil {
- stmt, err := _datastore.DB.Prepare("INSERT INTO users(id, access_token, display_name, display_color, previous_names, created_at) values(?, ?, ?, ?, ?, ?)")
+ stmt, err := _datastore.DB.Prepare("INSERT INTO users(id, display_name, display_color, previous_names, created_at) values(?, ?, ?, ?, ?, ?)")
if err != nil {
return errors.Wrap(err, "error preparing create user statement")
}
createUserStatement = stmt
}
- _, err := createUserStatement.Exec(user.ID, user.AccessToken, user.DisplayName, user.DisplayColor, user.DisplayName, user.CreatedAt)
+ _, err := createUserStatement.Exec(user.ID, user.DisplayName, user.DisplayColor, user.DisplayName, user.CreatedAt)
if err != nil {
return errors.Wrap(err, "error creating user")
}
@@ -186,8 +189,6 @@ func SetEnabled(userID string, enabled bool) error {
return tx.Commit()
}
-var cachedGUserByTokenStatement *sql.Stmt
-
// GetUserByToken will return a user by an access token.
func GetUserByToken(token string) *User {
u, err := _datastore.GetQueries().GetUserByAccessToken(context.Background(), token)
@@ -195,15 +196,19 @@ func GetUserByToken(token string) *User {
return nil
}
- if cachedGUserByTokenStatement == nil {
+ if _cachedGetUserByTokenStatement == nil {
stmt, err := _datastore.DB.Prepare("SELECT id, display_name, display_color, created_at, disabled_at, previous_names, namechanged_at, scopes FROM users WHERE access_token = ?")
if err != nil {
log.Errorln(err)
return nil
}
- cachedGUserByTokenStatement = stmt
+ _cachedGetUserByTokenStatement = stmt
+ }
+
+ var scopes []string
+ if u.Scopes.Valid {
+ scopes = strings.Split(u.Scopes.String, ",")
}
- row := cachedGUserByTokenStatement.QueryRow(token)
var disabledAt *time.Time
if u.DisabledAt.Valid {