server: implement getuser

This commit is contained in:
2026-05-16 20:47:53 +00:00
parent 26b00f8566
commit de106c61fe
3 changed files with 37 additions and 2 deletions
+4 -2
View File
@@ -10,13 +10,15 @@ import (
"github.com/jackc/pgx/v5"
)
var ErrUserNotFound = errors.New("db: user not found")
func dbGetUser(id string) (*User, error) {
query := `SELECT id, name, password FROM users WHERE id = $1`
var user User
err := db.Pool.QueryRow(context.Background(), query, id).Scan(&user.ID, &user.Name, &user.Password)
if errors.Is(err, pgx.ErrNoRows) {
slog.Debug("db: user not found", "userid", id)
return nil, errors.New("user not found")
return nil, ErrUserNotFound
} else if err != nil {
slog.Error("db: failed to query user", "error", err)
return nil, fmt.Errorf("failed to query user")
@@ -32,7 +34,7 @@ func dbGetUserByName(username string) (*User, error) {
err := db.Pool.QueryRow(context.Background(), query, username).Scan(&user.ID, &user.Name, &user.Password)
if errors.Is(err, pgx.ErrNoRows) {
slog.Debug("db: user not found", "username", username)
return nil, errors.New("user not found")
return nil, ErrUserNotFound
} else if err != nil {
slog.Error("db: failed to query user", "error", err)
return nil, fmt.Errorf("failed to query user")