diff options
author | Thomas Voss <mail@thomasvoss.com> | 2025-06-09 03:05:59 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2025-06-09 03:05:59 +0200 |
commit | df7d90ed36da337ff271324476591910f3de9792 (patch) | |
tree | e6d5d3298e2bf2cb437c73f3497c892838016275 /src/dbx/users.go | |
parent | 5aed031f11a2138365b80697addff6ea6c5e45ac (diff) |
Diffstat (limited to 'src/dbx/users.go')
-rw-r--r-- | src/dbx/users.go | 16 |
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): |