fix telepon and init lupas

This commit is contained in:
dirgantarasiahaan
2023-05-29 19:19:25 +07:00
parent bab3a7a3d9
commit 431ad60bdb
32 changed files with 328 additions and 47 deletions

View File

@@ -26,15 +26,14 @@ public class ForgotPasswordService implements BaseService<ForgotPasswordRequest,
@Override
public EmptyResponse execute(ForgotPasswordRequest input) {
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail())
var users = usersRepository.getUsersByEmailAndExpiredTime(input.getRememberId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", input.getEmail())));
String.format(Constants.ERR_MSG_10001, "Remember-id", input.getRememberId())));
String newPassword = commonService.getPassword(input.getNewPassword());
String confirmationPassword = commonService.getPassword(input.getConfirmationPassword());
if (!StringUtils.equalsIgnoreCase(newPassword, confirmationPassword)) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10007,

View File

@@ -0,0 +1,46 @@
package com.iconplus.smartproc.service.authentication;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.InitForgotPasswordRequest;
import com.iconplus.smartproc.model.response.InitForgotPasswordResponse;
import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.time.Instant;
import java.util.UUID;
@Service
public class InitForgotPasswordService implements BaseService<InitForgotPasswordRequest, InitForgotPasswordResponse> {
@Value("${config.forgot-password.expired-time:1440}")
private Integer expiredTime;
private final UsersRepository usersRepository;
public InitForgotPasswordService(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@Override
public InitForgotPasswordResponse execute(InitForgotPasswordRequest input) {
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", input.getEmail())));
var expirationTime = Timestamp.from(Instant.now().plusMillis(expiredTime * (long) 60000));
users.setRememberId(UUID.randomUUID().toString());
users.setExpiredTime(expirationTime);
usersRepository.save(users);
return InitForgotPasswordResponse.builder()
.rememberId(users.getRememberId())
.build();
}
}