From 299c775abacec913c0f72f9b0c7c244b20be7a5b Mon Sep 17 00:00:00 2001 From: Haelnorr Date: Mon, 9 Feb 2026 22:31:39 +1100 Subject: [PATCH] another one --- internal/db/userrole.go | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/internal/db/userrole.go b/internal/db/userrole.go index a4c1f3c..e30332e 100644 --- a/internal/db/userrole.go +++ b/internal/db/userrole.go @@ -2,7 +2,6 @@ package db import ( "context" - "database/sql" "git.haelnorr.com/h/oslstats/internal/roles" "github.com/pkg/errors" @@ -66,17 +65,13 @@ func HasRole(ctx context.Context, tx bun.Tx, userID int, roleName roles.Role) (b if roleName == "" { return false, errors.New("roleName cannot be empty") } - user := new(User) - err := tx.NewSelect(). - Model(user). - Relation("Roles"). - Where("u.id = ?", userID). - Scan(ctx) + user, err := GetByID[User](tx, userID). + Relation("Roles").GetFirst(ctx) if err != nil { - if errors.Is(err, sql.ErrNoRows) { - return false, nil - } - return false, errors.Wrap(err, "tx.NewSelect") + return false, errors.Wrap(err, "GetByID") + } + if user == nil { + return false, nil } for _, role := range user.Roles { if role.Name == roleName {