diff --git a/pom.xml b/pom.xml index b937cae8d67980ee2105facf93b71583ba79724e..ee4c80991558c630fdfeee1bda726c032b140ffd 100644 --- a/pom.xml +++ b/pom.xml @@ -29,17 +29,17 @@ <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-jwt</artifactId> - <version>1.1.0.RELEASE</version> + <version>1.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> - <version>2.5.0.RELEASE</version> + <version>2.5.2.RELEASE</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> - <version>0.6.0</version> + <version>0.9.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> @@ -85,12 +85,13 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> + <version>3.1.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact-manager</artifactId> - <version>2.0</version> + <version>2.2.1</version> </dependency> </dependencies> diff --git a/src/main/java/org/upsmf/grievance/controller/UserController.java b/src/main/java/org/upsmf/grievance/controller/UserController.java index 9521e807e54edb062301b01c76c9676f4f9c2843..8b3721f916130c05382acf1a9bad52dba9876a4a 100644 --- a/src/main/java/org/upsmf/grievance/controller/UserController.java +++ b/src/main/java/org/upsmf/grievance/controller/UserController.java @@ -33,9 +33,13 @@ public class UserController { } @PostMapping("/reset-password") - public ResponseEntity<String> resetPassword(@RequestParam String token, @RequestParam String newPassword) { - // Logic for resetting password using token - return ResponseEntity.ok("Password reset successful."); + public ResponseEntity<String> resetPassword(@RequestParam String email, @RequestParam String newPassword) { + try { + userService.resetUserPassword(email, newPassword); + return ResponseEntity.ok("Password reset successful."); + } catch (Exception e) { + return ResponseEntity.badRequest().body("User not found."); + } } @PostMapping("/login") diff --git a/src/main/java/org/upsmf/grievance/model/User.java b/src/main/java/org/upsmf/grievance/model/User.java index 14bfa83d106da8f7a408d0286d9ca2772331d5b1..f408cfb286ba9dbc2e9a7e67f0ec158352cf780c 100644 --- a/src/main/java/org/upsmf/grievance/model/User.java +++ b/src/main/java/org/upsmf/grievance/model/User.java @@ -7,7 +7,7 @@ import java.util.HashSet; import java.util.Set; @Entity -@Table(name = "user") +@Table(name = "users") @Getter @Setter @AllArgsConstructor diff --git a/src/main/java/org/upsmf/grievance/service/UserService.java b/src/main/java/org/upsmf/grievance/service/UserService.java index f61ad4fcc39c3ef34cb7ed8fb0cbee97d47dc77f..371ec6743f2e4b77116ba6a2ab6ed99f6c356c40 100644 --- a/src/main/java/org/upsmf/grievance/service/UserService.java +++ b/src/main/java/org/upsmf/grievance/service/UserService.java @@ -13,4 +13,6 @@ public interface UserService { boolean matchPassword(String rawPassword, String hashedPassword); + void resetUserPassword(String email, String newPassword) throws Exception; + } diff --git a/src/main/java/org/upsmf/grievance/service/impl/UserServiceImpl.java b/src/main/java/org/upsmf/grievance/service/impl/UserServiceImpl.java index 28c2d0de1537f48603a2c7a8dcff9f3a75131861..09af433005fa5106444137820896491301a7ee39 100644 --- a/src/main/java/org/upsmf/grievance/service/impl/UserServiceImpl.java +++ b/src/main/java/org/upsmf/grievance/service/impl/UserServiceImpl.java @@ -44,6 +44,18 @@ public class UserServiceImpl implements UserService { return passwordEncoder.matches(rawPassword, hashedPassword); } + @Override + public void resetUserPassword(String email, String newPassword) throws Exception { + User user = userRepository.findByEmail(email); + + if (user == null) { + throw new Exception("User not found"); + } + + user.setPassword(newPassword); + userRepository.save(user); + } + @Override public User findByEmail(String email) {