Added logging mechanism for user actions.

This commit is contained in:
piyushkag
2024-11-20 12:03:09 +05:30
parent bab6fcfad6
commit 6eafa7b33e
26 changed files with 798 additions and 42 deletions

View File

@@ -103,7 +103,7 @@ public class AuthenticationService {
createFailedLoginAttempt(loginAttemptEntity, e.getMessage());
throw e;
}
return getJWTTokenBean(user, loginReq.getRememberMe());
return getJWTTokenBean(user, loginReq.getRememberMe(), loginAttemptEntity.getId());
}
public LoginAttemptEntity prepareLoginAttemptEntity(LoginReq loginUserReq, HttpServletRequest request) {
@@ -126,10 +126,10 @@ public class AuthenticationService {
loginAttemptEntity.setErrorMsg(errorMsg);
loginAttemptDao.createLoginAttempt(loginAttemptEntity);
}
public JWTToken getJWTTokenBean(UserEntity user, Boolean rememberMe) {
public JWTToken getJWTTokenBean(UserEntity user, Boolean rememberMe, Long loginAttemptId) {
user.setLastLogin(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
userRepository.save(user);
String token = tokenProvider.createToken(rememberMe, user);
user = userRepository.save(user);
String token = tokenProvider.createToken(rememberMe, user, loginAttemptId);
log.info("JWT token generated for email: {}", user.getEmail());
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(user.getRoleEntity());
@@ -215,7 +215,7 @@ public class AuthenticationService {
loginReq.setEmail(userEntity.getEmail());
loginAttemptEntity = prepareLoginAttemptEntity(loginReq, request);
loginAttemptEntity.setUserId(userEntity.getId());
return getJWTTokenBean(userEntity, Boolean.TRUE);
return getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId());
} catch (Exception e) {
log.info("Authentication login failed for email: {}",e.getMessage());
loginAttemptEntity.setUserId(userId);