Changeset ef1c66e for ReserveNGo-backend
- Timestamp:
- 04/26/25 20:06:10 (5 days ago)
- Branches:
- master
- Children:
- 90cbc33
- Parents:
- 1624c61
- Location:
- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/User.java
r1624c61 ref1c66e 104 104 return userRole; 105 105 } 106 107 public void setId(Long id) { 108 this.id = id; 109 } 110 111 public void setFirstName(String firstName) { 112 this.firstName = firstName; 113 } 114 115 public void setLastName(String lastName) { 116 this.lastName = lastName; 117 } 118 119 public void setEmail(String email) { 120 this.email = email; 121 } 122 123 public void setPassword(String password) { 124 this.password = password; 125 } 126 127 public void setPhoneNumber(String phoneNumber) { 128 this.phoneNumber = phoneNumber; 129 } 130 131 public void setUserRole(Role userRole) { 132 this.userRole = userRole; 133 } 106 134 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java
r1624c61 ref1c66e 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.dto.userDTO.UserDTO; 4 import mk.ukim.finki.it.reservengo.model.domain.User; 5 import mk.ukim.finki.it.reservengo.model.exceptions.CustomerNotFoundException; 6 import mk.ukim.finki.it.reservengo.repository.UserRepository; 3 7 import mk.ukim.finki.it.reservengo.service.intf.UserService; 8 import org.springframework.security.crypto.password.PasswordEncoder; 4 9 import org.springframework.stereotype.Service; 5 10 … … 7 12 public class UserServiceImpl implements UserService { 8 13 14 private final UserRepository userRepository; 15 private final PasswordEncoder passwordEncoder; 16 17 public UserServiceImpl(UserRepository userRepository, PasswordEncoder passwordEncoder) { 18 this.userRepository = userRepository; 19 this.passwordEncoder = passwordEncoder; 20 } 21 22 @Override 23 public User findUser(Long userId) { 24 return userRepository.findById(userId).orElseThrow(() -> new CustomerNotFoundException(userId)); 25 } 26 27 @Override 28 public User editUserInfo(Long userId, UserDTO userDTO) { 29 User user = findUser(userId); 30 updateUserFromDto(user, userDTO); 31 return userRepository.save(user); 32 } 33 34 private void updateUserFromDto(User user, UserDTO userDTO) { 35 if (userDTO.firstName() != null) { 36 user.setFirstName(userDTO.firstName()); 37 } 38 if (userDTO.lastName() != null) { 39 user.setLastName(userDTO.lastName()); 40 } 41 if (userDTO.email() != null) { 42 user.setEmail(userDTO.email()); 43 } 44 if (userDTO.password() != null && !userDTO.password().isEmpty()) { 45 user.setPassword(passwordEncoder.encode(userDTO.password())); 46 } 47 if (userDTO.phoneNumber() != null) { 48 user.setPhoneNumber(userDTO.phoneNumber()); 49 } 50 } 9 51 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/UserService.java
r1624c61 ref1c66e 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.dto.userDTO.UserDTO; 4 import mk.ukim.finki.it.reservengo.model.domain.User; 5 3 6 public interface UserService { 7 User findUser(Long userId); 8 9 User editUserInfo(Long userId, UserDTO userDTO); 4 10 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/UserController.java
r1624c61 ref1c66e 1 1 package mk.ukim.finki.it.reservengo.web; 2 2 3 import org.springframework.web.bind.annotation.RequestMapping; 4 import org.springframework.web.bind.annotation.RestController; 3 import mk.ukim.finki.it.reservengo.dto.userDTO.UserDTO; 4 import mk.ukim.finki.it.reservengo.model.domain.User; 5 import mk.ukim.finki.it.reservengo.service.intf.UserService; 6 import org.springframework.http.ResponseEntity; 7 import org.springframework.web.bind.annotation.*; 5 8 6 9 @RestController 7 10 @RequestMapping("/api/user") 8 11 public class UserController { 9 //TODO edit personal info(USER -> customer,localWorker,localManager)10 12 11 // @PostMapping("/edit") 12 // public ResponseEntity<?> editPersonalInfo(@RequestBody UserDTO userDTO){ 13 // } 13 private final UserService userService; 14 15 public UserController(UserService userService) { 16 this.userService = userService; 17 } 18 19 @PutMapping("/{userId}/edit-info") 20 public ResponseEntity<?> editPersonalInfo(@PathVariable Long userId, @RequestBody UserDTO userDTO) { 21 User user = userService.editUserInfo(userId, userDTO); 22 return ResponseEntity.ok(user); 23 } 14 24 }
Note:
See TracChangeset
for help on using the changeset viewer.