summaryrefslogtreecommitdiffhomepage
path: root/src/dbx/users.go
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2025-06-09 03:05:59 +0200
committerThomas Voss <mail@thomasvoss.com> 2025-06-09 03:05:59 +0200
commitdf7d90ed36da337ff271324476591910f3de9792 (patch)
treee6d5d3298e2bf2cb437c73f3497c892838016275 /src/dbx/users.go
parent5aed031f11a2138365b80697addff6ea6c5e45ac (diff)
Make use of ‘scanToStruct()’HEADmaster
Diffstat (limited to 'src/dbx/users.go')
-rw-r--r--src/dbx/users.go16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/dbx/users.go b/src/dbx/users.go
index a0712ee..2eb3bbd 100644
--- a/src/dbx/users.go
+++ b/src/dbx/users.go
@@ -9,10 +9,10 @@ import (
)
type User struct {
- Email string
- Username string
- Password string
- AdminP bool
+ Email string `db:"email"`
+ Username string `db:"username"`
+ Password string `db:"password"`
+ AdminP bool `db:"adminp"`
}
var LoginFailed = errors.New("No user with the given username and password")
@@ -41,10 +41,12 @@ func Login(username, password string) (User, error) {
username = norm.NFC.String(username)
password = norm.NFC.String(password)
- u := User{}
/* TODO: Pass a context here? */
- err := DB.QueryRow(`SELECT * FROM users WHERE username = ?`, username).
- Scan(&u.Email, &u.Username, &u.Password, &u.AdminP)
+ rs, err := DB.Query(`SELECT * FROM users WHERE username = ?`, username)
+ if err != nil {
+ return User{}, err
+ }
+ u, err := scanToStruct[User](rs)
switch {
case errors.Is(err, sql.ErrNoRows):