Compare commits

...

3 Commits

Author SHA1 Message Date
maru
a087234aa8
Replace usernameFromRequest 2024-05-05 16:12:10 -04:00
maru
808a9e6c7d
Remove redundant error check 2024-05-05 16:08:43 -04:00
Flashfyre
3553891e6e Temporarily remove session expiration check 2024-05-05 14:57:58 -04:00
3 changed files with 14 additions and 33 deletions

View File

@ -73,20 +73,6 @@ func tokenFromRequest(r *http.Request) ([]byte, error) {
return token, nil
}
func usernameFromRequest(r *http.Request) (string, error) {
token, err := tokenFromRequest(r)
if err != nil {
return "", err
}
username, err := db.FetchUsernameFromToken(token)
if err != nil {
return "", fmt.Errorf("failed to validate token: %s", err)
}
return username, nil
}
func uuidFromRequest(r *http.Request) ([]byte, error) {
token, err := tokenFromRequest(r)
if err != nil {

View File

@ -39,15 +39,15 @@ import (
// account
func handleAccountInfo(w http.ResponseWriter, r *http.Request) {
username, err := usernameFromRequest(r)
uuid, err := uuidFromRequest(r)
if err != nil {
httpError(w, r, err, http.StatusBadRequest)
return
}
uuid, err := uuidFromRequest(r) // lazy
username, err := db.FetchUsernameFromUUID(uuid)
if err != nil {
httpError(w, r, err, http.StatusBadRequest)
httpError(w, r, err, http.StatusInternalServerError)
return
}

View File

@ -18,7 +18,6 @@
package db
import (
"database/sql"
"fmt"
"slices"
@ -186,16 +185,6 @@ func DeleteClaimedAccountCompensations(uuid []byte) error {
return nil
}
func FetchUsernameFromToken(token []byte) (string, error) {
var username string
err := handle.QueryRow("SELECT a.username FROM accounts a JOIN sessions s ON s.uuid = a.uuid WHERE s.token = ? AND s.expire > UTC_TIMESTAMP()", token).Scan(&username)
if err != nil {
return "", err
}
return username, nil
}
func FetchAccountKeySaltFromUsername(username string) ([]byte, []byte, error) {
var key, salt []byte
err := handle.QueryRow("SELECT hash, salt FROM accounts WHERE username = ?", username).Scan(&key, &salt)
@ -245,12 +234,8 @@ func UpdateActiveSession(uuid []byte, token []byte) error {
func FetchUUIDFromToken(token []byte) ([]byte, error) {
var uuid []byte
err := handle.QueryRow("SELECT uuid FROM sessions WHERE token = ? AND expire > UTC_TIMESTAMP()", token).Scan(&uuid)
err := handle.QueryRow("SELECT uuid FROM sessions WHERE token = ?", token).Scan(&uuid)
if err != nil {
if err == sql.ErrNoRows {
return nil, err
}
return nil, err
}
@ -265,3 +250,13 @@ func RemoveSessionFromToken(token []byte) error {
return nil
}
func FetchUsernameFromUUID(uuid []byte) (string, error) {
var username string
err := handle.QueryRow("SELECT username FROM accounts WHERE uuid = ?", uuid).Scan(&username)
if err != nil {
return "", err
}
return username, nil
}