52 lines
2.2 KiB
Java
52 lines
2.2 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.dao.LoginAttemptDao;
|
|
import net.gepafin.tendermanagement.entities.LoginAttemptEntity;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.enums.LoginAttemptResultEnum;
|
|
import net.gepafin.tendermanagement.enums.LoginAttemptTypeEnum;
|
|
import net.gepafin.tendermanagement.model.request.LoginAttemptReq;
|
|
import net.gepafin.tendermanagement.model.response.LoginAttemptPageableResponseBean;
|
|
import net.gepafin.tendermanagement.service.LoginAttemptService;
|
|
import net.gepafin.tendermanagement.util.Utils;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class LoginAttemptServiceImpl implements LoginAttemptService {
|
|
|
|
@Autowired
|
|
LoginAttemptDao loginAttemptDao;
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Override
|
|
public LoginAttemptPageableResponseBean<List<LoginAttemptEntity>> getLoginAttemptsList(HttpServletRequest request, Integer pageNo, Integer pageLimit) {
|
|
return loginAttemptDao.getLoginAttemptsList(validator.validateUser(request), pageNo, pageLimit);
|
|
}
|
|
|
|
@Override
|
|
public void createLoginAttempt(LoginAttemptReq loginAttemptReq, HttpServletRequest request) {
|
|
String ipAddress = Utils.getClientIpAddress(request);
|
|
String userAgent = request.getHeader("user-agent");
|
|
|
|
LoginAttemptEntity loginAttemptEntity = new LoginAttemptEntity();
|
|
loginAttemptEntity.setType(LoginAttemptTypeEnum.SWITCH.getValue());
|
|
loginAttemptEntity.setIpAddress(ipAddress);
|
|
loginAttemptEntity.setUserAgent(userAgent);
|
|
loginAttemptEntity.setUsername(loginAttemptReq.getUserName());
|
|
loginAttemptEntity.setResult(LoginAttemptResultEnum.SUCCESS.getValue());
|
|
if(loginAttemptReq.getUserId() != null) {
|
|
UserEntity userEntity = validator.validateUserId(request, loginAttemptReq.getUserId());
|
|
loginAttemptEntity.setUserId(userEntity.getId());
|
|
}
|
|
loginAttemptDao.createLoginAttempt(loginAttemptEntity);
|
|
}
|
|
}
|