From 1aa256c6a875c2cffba65b7cb0f35e5f748cac71 Mon Sep 17 00:00:00 2001 From: Kharec Date: Wed, 6 May 2026 20:07:47 +0200 Subject: [PATCH] fix(handlers): RequireAuth and VoteContext use optional user ID pointer --- internal/handlers/common.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/handlers/common.go b/internal/handlers/common.go index 907e5a5..4524fb2 100644 --- a/internal/handlers/common.go +++ b/internal/handlers/common.go @@ -200,17 +200,21 @@ func ParseUintParam(w http.ResponseWriter, r *http.Request, paramName, entityNam } func RequireAuth(w http.ResponseWriter, r *http.Request) (uint, bool) { - userID := middleware.GetUserIDFromContext(r.Context()) - if userID == 0 { + userPtr := middleware.GetUserIDFromContext(r.Context()) + if userPtr == nil { SendErrorResponse(w, "Authentication required", http.StatusUnauthorized) return 0, false } - return userID, true + return *userPtr, true } func NewVoteContext(r *http.Request) services.VoteContext { + var uid uint + if userPtr := middleware.GetUserIDFromContext(r.Context()); userPtr != nil { + uid = *userPtr + } return services.VoteContext{ - UserID: middleware.GetUserIDFromContext(r.Context()), + UserID: uid, IPAddress: GetClientIP(r), UserAgent: r.UserAgent(), }