Changes in / [1624c61:48e50b4]
- Location:
- ReserveNGo-backend
- Files:
-
- 10 added
- 14 deleted
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
ReserveNGo-backend/docker-compose.yml
r1624c61 r48e50b4 4 4 wp-db: 5 5 image: "postgres" 6 container_name: " resAndGo"6 container_name: "wp2024_resAndGo" 7 7 environment: 8 8 - POSTGRES_USER=za123 -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/bootstrap/DataHolder.java
r1624c61 r48e50b4 2 2 3 3 import jakarta.annotation.PostConstruct; 4 import mk.ukim.finki.it.reservengo.model. domain.*;4 import mk.ukim.finki.it.reservengo.model.*; 5 5 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 6 6 import mk.ukim.finki.it.reservengo.model.enumerations.Service; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java
r1624c61 r48e50b4 40 40 .requestMatchers(HttpMethod.OPTIONS,"/**").permitAll() 41 41 .requestMatchers( 42 " /api/auth/**",42 "api/auth/**", 43 43 "/h2/**", 44 44 "/favicon.ico", -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/AdminRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Admin;3 import mk.ukim.finki.it.reservengo.model.Admin; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/CustomerRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Customer;3 import mk.ukim.finki.it.reservengo.model.Customer; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/EventRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Event;3 import mk.ukim.finki.it.reservengo.model.Event; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalManagerRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.LocalManager;3 import mk.ukim.finki.it.reservengo.model.LocalManager; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Local; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalWorkerRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.LocalWorker;3 import mk.ukim.finki.it.reservengo.model.LocalWorker; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/ReservationRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Reservation;3 import mk.ukim.finki.it.reservengo.model.Reservation; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/UserRepository.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.repository; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.User;3 import mk.ukim.finki.it.reservengo.model.User; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 5 import org.springframework.stereotype.Repository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AuthServiceImpl.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO; 4 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO; 5 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO; 6 import mk.ukim.finki.it.reservengo.model.domain.Customer; 7 import mk.ukim.finki.it.reservengo.model.domain.LocalManager; 8 import mk.ukim.finki.it.reservengo.model.domain.LocalWorker; 9 import mk.ukim.finki.it.reservengo.model.domain.User; 3 import mk.ukim.finki.it.reservengo.model.*; 10 4 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 11 5 import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException; … … 42 36 43 37 @Override 44 public JWTAuthenticationResponseDTO registerCustomer(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 45 46 Customer customer = new Customer( 47 jwtAuthenticationRequestDTO.firstName(), 48 jwtAuthenticationRequestDTO.lastName(), 49 jwtAuthenticationRequestDTO.email(), 50 passwordEncoder.encode(jwtAuthenticationRequestDTO.password()), 51 jwtAuthenticationRequestDTO.phoneNumber(), 52 Role.ROLE_CUSTOMER 53 ); 54 38 public JWTAuthenticationResponse registerCustomer(String firstName, String lastName, String email, String password, String phoneNumber) { 39 Customer customer = new Customer(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_CUSTOMER); 55 40 customerRepository.save(customer); 56 41 String jwt = jwtService.generateToken(customer); 57 42 58 return new JWTAuthenticationResponse DTO(43 return new JWTAuthenticationResponse( 59 44 customer.getId(), 60 45 customer.getFirstName(), … … 67 52 68 53 @Override 69 public JWTAuthenticationResponseDTO registerLocalWorker(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 70 LocalWorker localWorker = new LocalWorker( 71 jwtAuthenticationRequestDTO.firstName(), 72 jwtAuthenticationRequestDTO.lastName(), 73 jwtAuthenticationRequestDTO.email(), 74 passwordEncoder.encode(jwtAuthenticationRequestDTO.password()), 75 jwtAuthenticationRequestDTO.phoneNumber(), 76 Role.ROLE_LOCAL_WORKER 77 ); 54 public JWTAuthenticationResponse registerLocalWorker(String firstName, String lastName, String email, String password, String phoneNumber) { 55 LocalWorker localWorker = new LocalWorker(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_LOCAL_WORKER); 78 56 localWorkerRepository.save(localWorker); 79 57 String jwt = jwtService.generateToken(localWorker); 80 58 81 return new JWTAuthenticationResponse DTO(59 return new JWTAuthenticationResponse( 82 60 localWorker.getId(), 83 61 localWorker.getFirstName(), … … 90 68 91 69 @Override 92 public JWTAuthenticationResponseDTO registerLocalManager(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 93 LocalManager localManager = new LocalManager( 94 jwtAuthenticationRequestDTO.firstName(), 95 jwtAuthenticationRequestDTO.lastName(), 96 jwtAuthenticationRequestDTO.email(), 97 passwordEncoder.encode(jwtAuthenticationRequestDTO.password()), 98 jwtAuthenticationRequestDTO.phoneNumber(), 99 Role.ROLE_LOCAL_MANAGER 100 ); 70 public JWTAuthenticationResponse registerLocalManager(String firstName, String lastName, String email, String password, String phoneNumber) { 71 LocalManager localManager = new LocalManager(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_LOCAL_MANAGER); 101 72 localManagerRepository.save(localManager); 102 73 String jwt = jwtService.generateToken(localManager); 103 74 104 return new JWTAuthenticationResponse DTO(75 return new JWTAuthenticationResponse( 105 76 localManager.getId(), 106 77 localManager.getFirstName(), … … 113 84 114 85 @Override 115 public JWTAuthenticationResponse DTO login(JWTLoginDTO jwtLoginDTO) {116 authenticationManager.authenticate(new UsernamePasswordAuthenticationToken( jwtLoginDTO.email(), jwtLoginDTO.password()));117 User user = userRepository.findByEmail( jwtLoginDTO.email()).orElseThrow(() -> new EmailNotFoundException(jwtLoginDTO.email()));86 public JWTAuthenticationResponse login(String email, String password) { 87 authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(email, password)); 88 User user = userRepository.findByEmail(email).orElseThrow(() -> new EmailNotFoundException(email)); 118 89 String jwt = jwtService.generateToken(user); 119 90 120 return new JWTAuthenticationResponse DTO(91 return new JWTAuthenticationResponse( 121 92 user.getId(), 122 93 user.getFirstName(), -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Customer;4 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Customer; 4 import mk.ukim.finki.it.reservengo.model.Local; 5 5 import mk.ukim.finki.it.reservengo.model.exceptions.CustomerNotFoundException; 6 6 import mk.ukim.finki.it.reservengo.repository.CustomerRepository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/JWTServiceImpl.java
r1624c61 r48e50b4 6 6 import io.jsonwebtoken.io.Decoders; 7 7 import io.jsonwebtoken.security.Keys; 8 import mk.ukim.finki.it.reservengo.model. domain.User;8 import mk.ukim.finki.it.reservengo.model.User; 9 9 import mk.ukim.finki.it.reservengo.service.intf.JWTService; 10 10 import org.springframework.security.core.userdetails.UserDetails; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalManagerServiceImpl.java
r1624c61 r48e50b4 6 6 @Service 7 7 public class LocalManagerServiceImpl implements LocalManagerService { 8 //TODO editLocal(admin firstly create(add) LOCAL,uploadPicture(clear method only for changing logo/picture on his local),9 8 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalServiceImpl.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Local; 4 4 import mk.ukim.finki.it.reservengo.model.exceptions.LocalIdNotFoundException; 5 5 import mk.ukim.finki.it.reservengo.repository.LocalRepository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/ReservationServiceImpl.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.impl; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Reservation;3 import mk.ukim.finki.it.reservengo.model.Reservation; 4 4 import mk.ukim.finki.it.reservengo.model.exceptions.ReservationNotFoundException; 5 5 import mk.ukim.finki.it.reservengo.repository.ReservationRepository; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java
r1624c61 r48e50b4 6 6 @Service 7 7 public class UserServiceImpl implements UserService { 8 9 8 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/AuthService.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO; 4 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO; 5 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO; 3 import mk.ukim.finki.it.reservengo.model.JWTAuthenticationResponse; 4 import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException; 6 5 7 6 public interface AuthService { 8 JWTAuthenticationResponse DTO registerCustomer(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);7 JWTAuthenticationResponse registerCustomer(String firstName, String lastName, String email, String password, String phoneNumber); 9 8 10 JWTAuthenticationResponse DTO registerLocalWorker(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);9 JWTAuthenticationResponse registerLocalWorker(String firstName, String lastName, String email, String password, String phoneNumber); 11 10 12 JWTAuthenticationResponse DTO registerLocalManager(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);11 JWTAuthenticationResponse registerLocalManager(String firstName, String lastName, String email, String password, String phoneNumber); 13 12 14 JWTAuthenticationResponse DTO login(JWTLoginDTO jwtLoginDTO);13 JWTAuthenticationResponse login(String email, String password); 15 14 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Customer;4 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Customer; 4 import mk.ukim.finki.it.reservengo.model.Local; 5 5 6 6 import java.util.List; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/JWTService.java
r1624c61 r48e50b4 2 2 3 3 import io.jsonwebtoken.Claims; 4 import mk.ukim.finki.it.reservengo.model. domain.User;4 import mk.ukim.finki.it.reservengo.model.User; 5 5 import org.springframework.security.core.userdetails.UserDetails; 6 6 -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalService.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Local; 4 4 5 5 import java.util.List; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/ReservationService.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.service.intf; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Reservation;3 import mk.ukim.finki.it.reservengo.model.Reservation; 4 4 5 5 import java.util.List; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/AuthController.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.web; 2 2 3 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO; 4 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO; 5 import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO; 3 import jakarta.servlet.http.HttpServletRequest; 4 import mk.ukim.finki.it.reservengo.model.JWTAuthenticationResponse; 6 5 import mk.ukim.finki.it.reservengo.service.intf.AuthService; 7 6 import org.springframework.http.HttpStatus; 8 7 import org.springframework.http.MediaType; 9 8 import org.springframework.http.ResponseEntity; 9 import org.springframework.security.authentication.BadCredentialsException; 10 import org.springframework.security.core.AuthenticationException; 11 import org.springframework.security.core.userdetails.UsernameNotFoundException; 10 12 import org.springframework.web.bind.annotation.*; 11 13 … … 20 22 21 23 @PostMapping(value = "/register/customer", produces = MediaType.APPLICATION_JSON_VALUE) 22 public ResponseEntity<JWTAuthenticationResponseDTO> registerCustomer(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 23 return new ResponseEntity<>(authenticationService.registerCustomer(jwtAuthenticationRequestDTO), HttpStatus.CREATED); 24 public ResponseEntity<JWTAuthenticationResponse> registerCustomer(@RequestParam String firstName, 25 @RequestParam String lastName, 26 @RequestParam String email, 27 @RequestParam String password, 28 @RequestParam String phoneNumber) { 29 return new ResponseEntity<>(authenticationService.registerCustomer(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED); 24 30 } 25 31 26 32 @PostMapping("/register/local-worker") 27 public ResponseEntity<JWTAuthenticationResponseDTO> registerLocalWorker(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 28 return new ResponseEntity<>(authenticationService.registerLocalWorker(jwtAuthenticationRequestDTO), HttpStatus.CREATED); 33 public ResponseEntity<JWTAuthenticationResponse> registerLocalWorker(@RequestParam String firstName, 34 @RequestParam String lastName, 35 @RequestParam String email, 36 @RequestParam String password, 37 @RequestParam String phoneNumber) { 38 return new ResponseEntity<>(authenticationService.registerLocalWorker(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED); 29 39 } 30 40 31 41 @PostMapping("/register/local-manager") 32 public ResponseEntity<JWTAuthenticationResponseDTO> registerLocalManager(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) { 33 return new ResponseEntity<>(authenticationService.registerLocalManager(jwtAuthenticationRequestDTO), HttpStatus.CREATED); 42 public ResponseEntity<JWTAuthenticationResponse> registerLocalManager(@RequestParam String firstName, 43 @RequestParam String lastName, 44 @RequestParam String email, 45 @RequestParam String password, 46 @RequestParam String phoneNumber) { 47 return new ResponseEntity<>(authenticationService.registerLocalManager(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED); 34 48 } 35 49 36 50 @PostMapping("/login") 37 public ResponseEntity<JWTAuthenticationResponseDTO> login(@RequestBody JWTLoginDTO jwtLoginDTO) { 38 return new ResponseEntity<>(authenticationService.login(jwtLoginDTO), HttpStatus.OK); 51 public ResponseEntity<?> login(@RequestParam String email, 52 @RequestParam String password) { 53 JWTAuthenticationResponse response = authenticationService.login(email, password); 54 return ResponseEntity.ok(response); 39 55 } 56 57 @GetMapping("/logout") 58 public void logout(HttpServletRequest request) { 59 request.getSession().invalidate(); 60 } 61 40 62 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/CustomerController.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.web; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Customer;4 import mk.ukim.finki.it.reservengo.model. domain.Local;5 import mk.ukim.finki.it.reservengo.model. domain.Reservation;6 import mk.ukim.finki.it.reservengo.model. domain.User;3 import mk.ukim.finki.it.reservengo.model.Customer; 4 import mk.ukim.finki.it.reservengo.model.Local; 5 import mk.ukim.finki.it.reservengo.model.Reservation; 6 import mk.ukim.finki.it.reservengo.model.User; 7 7 import mk.ukim.finki.it.reservengo.service.intf.CustomerService; 8 8 import mk.ukim.finki.it.reservengo.service.intf.ReservationService; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/LocalController.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.web; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Local;3 import mk.ukim.finki.it.reservengo.model.Local; 4 4 import mk.ukim.finki.it.reservengo.service.intf.LocalService; 5 5 import org.springframework.http.ResponseEntity; -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/ReservationController.java
r1624c61 r48e50b4 1 1 package mk.ukim.finki.it.reservengo.web; 2 2 3 import mk.ukim.finki.it.reservengo.model. domain.Reservation;3 import mk.ukim.finki.it.reservengo.model.Reservation; 4 4 import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus; 5 5 import mk.ukim.finki.it.reservengo.service.intf.ReservationService; … … 8 8 9 9 @RestController 10 @RequestMapping("/api /reservations")10 @RequestMapping("/api") 11 11 public class ReservationController { 12 12 private final ReservationService reservationService; … … 18 18 //TODO RE-EVALUATE RESERVATIONS ARCHITECTURE 19 19 20 @GetMapping("/ {id}")20 @GetMapping("/reservations/{id}") 21 21 public ResponseEntity<?> getReservationInformation(@PathVariable Long id) { 22 22 Reservation reservation = reservationService.getReservationById(id); … … 24 24 } 25 25 26 @PostMapping("/ {id}/status")26 @PostMapping("/reservations/{id}/status") 27 27 public ResponseEntity<?> updateReservationStatus(@PathVariable Long id, @RequestParam ReservationStatus status) { 28 28 Reservation reservation = reservationService.getReservationById(id); -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/UserController.java
r1624c61 r48e50b4 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;5 6 @RestController7 @RequestMapping("/api/user")8 3 public class UserController { 9 //TODO edit personal info(USER -> customer,localWorker,localManager)10 11 // @PostMapping("/edit")12 // public ResponseEntity<?> editPersonalInfo(@RequestBody UserDTO userDTO){13 // }14 4 }
Note:
See TracChangeset
for help on using the changeset viewer.