diff --git a/src/main/java/com/iemr/ecd/utils/mapper/JwtAuthenticationUtil.java b/src/main/java/com/iemr/ecd/utils/mapper/JwtAuthenticationUtil.java index e72b50a..a0b8746 100644 --- a/src/main/java/com/iemr/ecd/utils/mapper/JwtAuthenticationUtil.java +++ b/src/main/java/com/iemr/ecd/utils/mapper/JwtAuthenticationUtil.java @@ -104,6 +104,7 @@ private Users getUserFromCache(String userId) { return user; // Returns null if not found } + private Users fetchUserFromDB(String userId) { // This method will only be called if the user is not found in Redis. String redisKey = "user_" + userId; // Redis key format @@ -112,15 +113,21 @@ private Users fetchUserFromDB(String userId) { Users user = userLoginRepo.getUserByUserID(Long.parseLong(userId)); if (user != null) { - // Cache the user in Redis for future requests (cache for 30 minutes) - redisTemplate.opsForValue().set(redisKey, user, 30, TimeUnit.MINUTES); + Users userHash = new Users(); + userHash.setUserID(user.getUserID()); + userHash.setUserName(user.getUserName()); + + // Cache the minimal user in Redis for future requests (cache for 30 minutes) + redisTemplate.opsForValue().set(redisKey, userHash, 30, TimeUnit.MINUTES); // Log that the user has been stored in Redis logger.info("User stored in Redis with key: " + redisKey); + + return user; } else { logger.warn("User not found for userId: " + userId); } - return user; + return null; } }