Changeset fa26ba9
- Timestamp:
- 04/30/25 15:09:39 (3 days ago)
- Branches:
- master
- Children:
- 0391097, ae61ea4
- Parents:
- b77dbe8
- Location:
- ReserveNGo-backend
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
ReserveNGo-backend/pom.xml
rb77dbe8 rfa26ba9 7 7 <artifactId>spring-boot-starter-parent</artifactId> 8 8 <version>3.4.3</version> 9 <relativePath/> <!-- lookup parent from repository -->9 <relativePath/> 10 10 </parent> 11 11 <groupId>mk.ukim.finki.it</groupId> -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/EmailNotFoundException.java
rb77dbe8 rfa26ba9 2 2 3 3 public class EmailNotFoundException extends RuntimeException { 4 public EmailNotFoundException(String username) {5 super("User with email: " + username+ " not found");4 public EmailNotFoundException(String email) { 5 super("User with email: " + email + " not found"); 6 6 } 7 7 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AuthServiceImpl.java
rb77dbe8 rfa26ba9 8 8 import mk.ukim.finki.it.reservengo.model.domain.LocalWorker; 9 9 import mk.ukim.finki.it.reservengo.model.domain.User; 10 import mk.ukim.finki.it.reservengo.model.enumerations.Role;11 10 import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException; 12 import mk.ukim.finki.it.reservengo.repository.CustomerRepository;13 import mk.ukim.finki.it.reservengo.repository.LocalManagerRepository;14 import mk.ukim.finki.it.reservengo.repository.LocalWorkerRepository;15 11 import mk.ukim.finki.it.reservengo.repository.UserRepository; 16 import mk.ukim.finki.it.reservengo.service.intf.AuthService; 17 import mk.ukim.finki.it.reservengo.service.intf.JWTService; 12 import mk.ukim.finki.it.reservengo.service.intf.*; 18 13 import org.springframework.security.authentication.AuthenticationManager; 19 14 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; … … 23 18 @Service 24 19 public class AuthServiceImpl implements AuthService { 25 private final Customer Repository customerRepository;26 private final LocalWorker Repository localWorkerRepository;27 private final LocalManager Repository localManagerRepository;20 private final CustomerService customerService; 21 private final LocalWorkerService localWorkerService; 22 private final LocalManagerService localManagerService; 28 23 private final JWTService jwtService; 29 24 private final PasswordEncoder passwordEncoder; … … 31 26 private final UserRepository userRepository; 32 27 33 public AuthServiceImpl(Customer Repository customerRepository, LocalWorkerRepository localWorkerRepository, LocalManagerRepository localManagerRepository, JWTService jwtService, PasswordEncoder passwordEncoder, AuthenticationManager authenticationManager, UserRepository userRepository) {34 this.customer Repository = customerRepository;35 this.localWorker Repository = localWorkerRepository;36 this.localManager Repository = localManagerRepository;28 public AuthServiceImpl(CustomerService customerService, LocalWorkerService localWorkerService, LocalManagerService localManagerService, JWTService jwtService, PasswordEncoder passwordEncoder, AuthenticationManager authenticationManager, UserRepository userRepository) { 29 this.customerService = customerService; 30 this.localWorkerService = localWorkerService; 31 this.localManagerService = localManagerService; 37 32 this.jwtService = jwtService; 38 33 this.passwordEncoder = passwordEncoder; … … 45 40 Customer customer = jwtAuthenticationRequestDTO.toCustomer(passwordEncoder.encode(jwtAuthenticationRequestDTO.password())); 46 41 47 customer Repository.save(customer);42 customerService.save(customer); 48 43 String jwt = jwtService.generateToken(customer); 49 44 … … 55 50 LocalWorker localWorker = jwtAuthenticationRequestDTO.toLocalWorker(passwordEncoder.encode(jwtAuthenticationRequestDTO.password())); 56 51 57 localWorker Repository.save(localWorker);52 localWorkerService.save(localWorker); 58 53 String jwt = jwtService.generateToken(localWorker); 59 54 … … 65 60 LocalManager localManager = jwtAuthenticationRequestDTO.toLocalManager(passwordEncoder.encode(jwtAuthenticationRequestDTO.password())); 66 61 67 localManager Repository.save(localManager);62 localManagerService.save(localManager); 68 63 String jwt = jwtService.generateToken(localManager); 69 64 -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java
rb77dbe8 rfa26ba9 4 4 import mk.ukim.finki.it.reservengo.model.domain.Local; 5 5 import mk.ukim.finki.it.reservengo.model.exceptions.CustomerIdNotFoundException; 6 import mk.ukim.finki.it.reservengo.model.exceptions.UserEmailAlreadyExistsException; 6 7 import mk.ukim.finki.it.reservengo.repository.CustomerRepository; 7 8 import mk.ukim.finki.it.reservengo.service.intf.CustomerService; 8 9 import mk.ukim.finki.it.reservengo.service.intf.LocalService; 10 import mk.ukim.finki.it.reservengo.service.intf.UserService; 9 11 import org.springframework.stereotype.Service; 10 12 … … 15 17 private final CustomerRepository customerRepository; 16 18 private final LocalService localService; 19 private final UserService userService; 17 20 18 public CustomerServiceImpl(CustomerRepository customerRepository, LocalService localService ) {21 public CustomerServiceImpl(CustomerRepository customerRepository, LocalService localService, UserService userService) { 19 22 this.customerRepository = customerRepository; 20 23 this.localService = localService; 24 this.userService = userService; 21 25 } 22 26 … … 48 52 customerRepository.save(customer); 49 53 } 54 55 @Override 56 public void save(Customer customer) { 57 if (userService.emailExists(customer.getEmail())) { 58 throw new UserEmailAlreadyExistsException(customer.getEmail()); 59 } 60 customerRepository.save(customer); 61 } 50 62 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalManagerServiceImpl.java
rb77dbe8 rfa26ba9 2 2 3 3 import mk.ukim.finki.it.reservengo.model.domain.Local; 4 import mk.ukim.finki.it.reservengo.model.domain.LocalManager; 4 5 import mk.ukim.finki.it.reservengo.model.exceptions.LocalIdNotFoundException; 6 import mk.ukim.finki.it.reservengo.model.exceptions.UserEmailAlreadyExistsException; 7 import mk.ukim.finki.it.reservengo.repository.LocalManagerRepository; 5 8 import mk.ukim.finki.it.reservengo.repository.LocalRepository; 6 9 import mk.ukim.finki.it.reservengo.service.intf.FileStorageService; 7 10 import mk.ukim.finki.it.reservengo.service.intf.LocalManagerService; 11 import mk.ukim.finki.it.reservengo.service.intf.UserService; 8 12 import org.springframework.stereotype.Service; 9 13 import org.springframework.web.multipart.MultipartFile; … … 13 17 14 18 private final LocalRepository localRepository; 19 private final LocalManagerRepository localManagerRepository; 15 20 private final FileStorageService fileStorageService; 21 private final UserService userService; 16 22 17 public LocalManagerServiceImpl(LocalRepository localRepository, FileStorageService fileStorageService) {23 public LocalManagerServiceImpl(LocalRepository localRepository, LocalManagerRepository localManagerRepository, FileStorageService fileStorageService, UserService userService) { 18 24 this.localRepository = localRepository; 25 this.localManagerRepository = localManagerRepository; 19 26 this.fileStorageService = fileStorageService; 27 this.userService = userService; 20 28 } 21 29 … … 29 37 localRepository.save(local); 30 38 } 39 40 @Override 41 public void save(LocalManager localManager) { 42 if (userService.emailExists(localManager.getEmail())) { 43 throw new UserEmailAlreadyExistsException(localManager.getEmail()); 44 } 45 localManagerRepository.save(localManager); 46 } 31 47 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalWorkerServiceImpl.java
rb77dbe8 rfa26ba9 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.model.domain.LocalWorker; 4 import mk.ukim.finki.it.reservengo.model.exceptions.UserEmailAlreadyExistsException; 5 import mk.ukim.finki.it.reservengo.repository.LocalWorkerRepository; 3 6 import mk.ukim.finki.it.reservengo.service.intf.LocalWorkerService; 7 import mk.ukim.finki.it.reservengo.service.intf.UserService; 4 8 import org.springframework.stereotype.Service; 5 9 6 10 @Service 7 11 public class LocalWorkerServiceImpl implements LocalWorkerService { 12 private final LocalWorkerRepository localWorkerRepository; 13 private final UserService userService; 14 15 public LocalWorkerServiceImpl(LocalWorkerRepository localWorkerRepository, UserService userService) { 16 this.localWorkerRepository = localWorkerRepository; 17 this.userService = userService; 18 } 19 20 @Override 21 public void save(LocalWorker localWorker) { 22 if (userService.emailExists(localWorker.getEmail())) { 23 throw new UserEmailAlreadyExistsException(localWorker.getEmail()); 24 } 25 localWorkerRepository.save(localWorker); 26 } 8 27 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java
rb77dbe8 rfa26ba9 3 3 import mk.ukim.finki.it.reservengo.dto.userDTO.CreateUserDTO; 4 4 import mk.ukim.finki.it.reservengo.model.domain.User; 5 import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException; 5 6 import mk.ukim.finki.it.reservengo.model.exceptions.UserIdNotFoundException; 6 7 import mk.ukim.finki.it.reservengo.repository.UserRepository; … … 21 22 22 23 @Override 23 public User findUser(Long userId) {24 public User getUserById(Long userId) { 24 25 return userRepository.findById(userId).orElseThrow(() -> new UserIdNotFoundException(userId)); 25 26 } 26 27 27 28 @Override 28 public User editUserInfo(Long userId, CreateUserDTO createUserDTO) { 29 public User getUserByEmail(String email) { 30 return userRepository.findByEmail(email).orElseThrow(() -> new EmailNotFoundException(email)); 31 } 32 33 @Override 34 public boolean emailExists(String email) { 35 return userRepository.findByEmail(email).isPresent(); 36 } 37 38 @Override 39 public User editUserProfile(Long userId, CreateUserDTO createUserDTO) { 29 40 User user = userRepository.findById(userId).orElseThrow(() -> new UserIdNotFoundException(userId)); 30 41 updateUserFromDto(user, createUserDTO); -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java
rb77dbe8 rfa26ba9 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model.domain.Customer; 3 4 import mk.ukim.finki.it.reservengo.model.domain.Local; 4 5 … … 6 7 7 8 public interface CustomerService { 9 8 10 List<Local> listFavouriteLocals(Long id); 9 11 … … 11 13 12 14 void removeFavouriteLocal(Long userId, Long localId); 15 16 void save(Customer customer); 13 17 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalManagerService.java
rb77dbe8 rfa26ba9 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model.domain.LocalManager; 3 4 import org.springframework.web.multipart.MultipartFile; 4 5 5 6 public interface LocalManagerService { 6 7 void uploadLogo(Long localId, MultipartFile logoFile); 8 9 void save(LocalManager localManager); 7 10 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalWorkerService.java
rb77dbe8 rfa26ba9 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model.domain.LocalWorker; 4 3 5 public interface LocalWorkerService { 6 void save(LocalWorker localWorker); 4 7 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/UserService.java
rb77dbe8 rfa26ba9 5 5 6 6 public interface UserService { 7 User findUser(Long userId);7 User getUserById(Long userId); 8 8 9 User editUserInfo(Long userId, CreateUserDTO createUserDTO); 9 User editUserProfile(Long userId, CreateUserDTO createUserDTO); 10 11 User getUserByEmail(String email); 12 13 boolean emailExists(String email); 10 14 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/advice/GlobalExceptionHandler.java
rb77dbe8 rfa26ba9 46 46 return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage()); 47 47 } 48 49 @ExceptionHandler(UserEmailAlreadyExistsException.class) 50 public ResponseEntity<String> handleUserEmailAlreadyExists(UserEmailAlreadyExistsException ex) { 51 return ResponseEntity.status(HttpStatus.CONFLICT).body(ex.getMessage()); 52 } 48 53 } 49 54 -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/UserController.java
rb77dbe8 rfa26ba9 21 21 @GetMapping("/profile") 22 22 public ResponseEntity<?> getProfile(@AuthenticationPrincipal User user) { 23 User u = userService. findUser(user.getId());23 User u = userService.getUserById(user.getId()); 24 24 return ResponseEntity.ok(u); 25 25 } … … 27 27 @PutMapping("/edit") 28 28 public ResponseEntity<?> editProfile(@AuthenticationPrincipal User user, @RequestBody CreateUserDTO createUserDTO) { 29 return ResponseEntity.ok(userService.editUser Info(user.getId(), createUserDTO));29 return ResponseEntity.ok(userService.editUserProfile(user.getId(), createUserDTO)); 30 30 } 31 31 }
Note:
See TracChangeset
for help on using the changeset viewer.