Add Logger

This commit is contained in:
harish
2024-08-21 19:54:27 +05:30
parent 7a080504aa
commit 04e9ff57a7
5 changed files with 164 additions and 76 deletions

View File

@@ -12,6 +12,8 @@ import net.gepafin.tendermanagement.model.util.JWTToken;
import net.gepafin.tendermanagement.repositories.UserRepository;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -20,18 +22,20 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.Collections;
@Service
public class AuthenticationService {
private final Logger log = LoggerFactory.getLogger(AuthenticationService.class);
private final TokenProvider tokenProvider;
private final AuthenticationManager authenticationManager;
@Autowired
private UserRepository userRepository;
private UserRepository userRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private RoleDao roleDao;
@@ -42,19 +46,26 @@ public class AuthenticationService {
}
public JWTToken login(LoginReq loginReq) {
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginReq.getEmail(),loginReq.getPassword());
Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
String token = tokenProvider.createToken(authentication,loginReq.getRememberMe());
UserEntity user = userRepository.findByEmail(loginReq.getEmail());
if (user == null) {
throw new CustomValidationException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG));
}
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(user.getRoleEntity());
return new JWTToken(token, new LoginResponse(user.getId(),user.getEmail(),
user.getFirstName(),user.getLastName(),roleResponseBean, user.getPhoneNumber(), user.getAddress(), user.getOrganization(), user.getCountry(),user.getStatus()
,user.getCity(),user.getLastLogin(),user.getCreatedDate(),user.getUpdatedDate()));
}
}
log.info("Attempting login for email: {}", loginReq.getEmail());
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginReq.getEmail(), loginReq.getPassword());
Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
log.info("Authentication successful for email: {}", loginReq.getEmail());
String token = tokenProvider.createToken(authentication, loginReq.getRememberMe());
log.info("JWT token generated for email: {}", loginReq.getEmail());
UserEntity user = userRepository.findByEmail(loginReq.getEmail());
if (user == null) {
log.error("User not found for email: {}", loginReq.getEmail());
throw new CustomValidationException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG));
}
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(user.getRoleEntity());
JWTToken jwtToken = new JWTToken(token, new LoginResponse(user.getId(), user.getEmail(), user.getFirstName(),
user.getLastName(), roleResponseBean, user.getPhoneNumber(), user.getAddress(), user.getOrganization(),
user.getCountry(), user.getStatus(), user.getCity(), user.getLastLogin(), user.getCreatedDate(),
user.getUpdatedDate()));
log.info("Login successful for email: {}", loginReq.getEmail());
return jwtToken;
}
}