add api forgot password
This commit is contained in:
parent
c4700af832
commit
f8f489f565
@ -2,10 +2,12 @@ package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.EmptyRequest;
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.ForgotPasswordRequest;
|
||||
import com.iconplus.smartproc.model.request.LoginRequest;
|
||||
import com.iconplus.smartproc.model.request.RefreshTokenRequest;
|
||||
import com.iconplus.smartproc.model.response.LoginResponse;
|
||||
import com.iconplus.smartproc.model.response.RefreshTokenResponse;
|
||||
import com.iconplus.smartproc.service.authentication.ForgotPasswordService;
|
||||
import com.iconplus.smartproc.service.authentication.LoginService;
|
||||
import com.iconplus.smartproc.service.authentication.LogoutService;
|
||||
import com.iconplus.smartproc.service.authentication.TokenManagementService;
|
||||
@ -19,13 +21,16 @@ public class AuthenticationController {
|
||||
private LoginService loginService;
|
||||
private TokenManagementService tokenManagementService;
|
||||
private LogoutService logoutService;
|
||||
private ForgotPasswordService forgotPasswordService;
|
||||
|
||||
public AuthenticationController(LoginService loginService,
|
||||
TokenManagementService tokenManagementService,
|
||||
LogoutService logoutService) {
|
||||
LogoutService logoutService,
|
||||
ForgotPasswordService forgotPasswordService) {
|
||||
this.loginService = loginService;
|
||||
this.tokenManagementService = tokenManagementService;
|
||||
this.logoutService = logoutService;
|
||||
this.forgotPasswordService = forgotPasswordService;
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
@ -44,4 +49,9 @@ public class AuthenticationController {
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/forgot-password")
|
||||
public EmptyResponse forgotPassword(@RequestBody ForgotPasswordRequest forgotPasswordRequest) {
|
||||
return forgotPasswordService.execute(forgotPasswordRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,17 @@
|
||||
package com.iconplus.smartproc.model.request;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ForgotPasswordRequest extends BaseRequest {
|
||||
private String currentPassword;
|
||||
private String newPassword;
|
||||
private String confirmationPassword;
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package com.iconplus.smartproc.service.authentication;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.context.ApiContext;
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.ForgotPasswordRequest;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ForgotPasswordService implements BaseService<ForgotPasswordRequest, EmptyResponse> {
|
||||
|
||||
private ApiContext apiContext;
|
||||
private UsersRepository usersRepository;
|
||||
public ForgotPasswordService(UsersRepository usersRepository,
|
||||
ApiContext apiContext) {
|
||||
this.usersRepository = usersRepository;
|
||||
this.apiContext = apiContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(ForgotPasswordRequest input) {
|
||||
|
||||
Long id = Long.valueOf(apiContext.getUserId());
|
||||
var users = usersRepository.findByIdAndIsDeleteFalse(id).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
if (!StringUtils.equalsIgnoreCase(input.getCurrentPassword(), users.getPassword()) ||
|
||||
StringUtils.equalsIgnoreCase(input.getNewPassword(), users.getPassword()) ||
|
||||
!StringUtils.equalsIgnoreCase(input.getConfirmationPassword(), input.getNewPassword())) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
|
||||
users.setPassword(input.getNewPassword());
|
||||
usersRepository.save(users);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user