88 httphelpers "github.com/CodeChefVIT/cookoff-backend/internal/helpers/http"
99 logger "github.com/CodeChefVIT/cookoff-backend/internal/helpers/logging"
1010 "github.com/go-chi/jwtauth/v5"
11+ "github.com/google/uuid"
1112)
1213
1314func RefreshTokenHandler (w http.ResponseWriter , r * http.Request ) {
@@ -25,23 +26,30 @@ func RefreshTokenHandler(w http.ResponseWriter, r *http.Request) {
2526 return
2627 }
2728
28- userName , ok := claims .PrivateClaims ()["username " ].(string )
29+ userId , ok := claims .PrivateClaims ()["user_id " ].(string )
2930 if ! ok {
30- logger .Errof ("Invalid token claims, email not found" )
31+ logger .Errof ("Invalid token claims, user_id not found" )
3132 httphelpers .WriteError (w , http .StatusUnauthorized , "invalid token claims" )
3233 return
3334 }
3435
35- user , err := database . Queries . GetUserByUsername ( r . Context (), userName )
36+ userIdUUID , err := uuid . Parse ( userId )
3637 if err != nil {
37- logger .Errof ("User not found: %s, err: %v" , userName , err )
38+ logger .Errof ("Invalid user_id: %s, err: %v" , userId , err )
39+ httphelpers .WriteError (w , http .StatusUnauthorized , "invalid user_id" )
40+ return
41+ }
42+
43+ user , err := database .Queries .GetUserById (r .Context (), userIdUUID )
44+ if err != nil {
45+ logger .Errof ("User not found: %s, err: %v" , user .Name , err )
3846 httphelpers .WriteError (w , http .StatusUnauthorized , "user not found" )
3947 return
4048 }
4149
4250 accessToken , accessExp , err := helpers .GenerateJWT (& user , false )
4351 if err != nil {
44- logger .Errof ("Failed to generate new access token for user: %s, err: %v" , userName , err )
52+ logger .Errof ("Failed to generate new access token for user: %s, err: %v" , user . Name , err )
4553 httphelpers .WriteError (w , http .StatusUnauthorized , "failed to generate token" )
4654 return
4755 }
@@ -57,7 +65,7 @@ func RefreshTokenHandler(w http.ResponseWriter, r *http.Request) {
5765
5866 refreshToken , refreshExp , err := helpers .GenerateJWT (& user , true )
5967 if err != nil {
60- logger .Errof ("Failed to generate new refresh token for user: %s, err: %v" , userName , err )
68+ logger .Errof ("Failed to generate new refresh token for user: %s, err: %v" , user . Name , err )
6169 httphelpers .WriteError (w , http .StatusUnauthorized , "failed to generate token" )
6270 return
6371 }
0 commit comments