From f3a552fed6ad1ca901f82960fabb08c697d5e7c3 Mon Sep 17 00:00:00 2001 From: Hugo <hugo.cubino@estudiantes.uva.es> Date: Tue, 24 Dec 2024 15:02:44 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Cambiada=20estructura=20de=20paquetes=20e?= =?UTF-8?q?=20inclu=C3=ADdo=20m=C3=A9todo=20HotelService?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hotels}/HotelsApplication.java | 0 .../hotels}/api/BookingAPI.java | 0 .../hotels}/api/ManagerAPI.java | 0 .../hotels}/config/RestTemplateConfig.java | 0 .../hotels}/config/SecurityConfig.java | 2 +- .../hotels/controllers/HotelController.java | 91 ++++++++++ .../exceptions/GlobalExceptionHandler.java | 0 .../exceptions/HotelNotFoundException.java | 0 .../exceptions/InvalidDateRangeException.java | 0 .../exceptions/InvalidRequestException.java | 0 .../filter/JwtAuthenticationFilter.java | 2 +- .../interceptor/AuthHttpInterceptor.java | 2 +- .../hotels/models/Address.java | 2 +- .../hotels/models/Hotel.java | 2 +- .../services => apis}/hotels/models/Room.java | 2 +- .../hotels/models/RoomType.java | 2 +- .../hotels/models/external/users/UserRol.java | 5 + .../hotels/repositories/HotelRepository.java | 4 +- .../hotels/repositories/RoomRepository.java | 4 +- .../apis/hotels/services/HotelService.java | 107 ++++++++++++ .../hotels}/utils/JwtUtil.java | 2 +- .../hotels/controllers/HotelController.java | 164 ------------------ .../hotels/models/external/users/UserRol.java | 5 - 23 files changed, 215 insertions(+), 181 deletions(-) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/HotelsApplication.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/api/BookingAPI.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/api/ManagerAPI.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/config/RestTemplateConfig.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/config/SecurityConfig.java (96%) create mode 100644 java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/exceptions/GlobalExceptionHandler.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/exceptions/HotelNotFoundException.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/exceptions/InvalidDateRangeException.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/exceptions/InvalidRequestException.java (100%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/filter/JwtAuthenticationFilter.java (98%) rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/interceptor/AuthHttpInterceptor.java (95%) rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/models/Address.java (97%) rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/models/Hotel.java (96%) rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/models/Room.java (95%) rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/models/RoomType.java (55%) create mode 100644 java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/repositories/HotelRepository.java (66%) rename java/services/hotels/src/main/java/com/uva/{monolith/services => apis}/hotels/repositories/RoomRepository.java (79%) create mode 100644 java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java rename java/services/hotels/src/main/java/com/uva/{monolith => apis/hotels}/utils/JwtUtil.java (93%) delete mode 100644 java/services/hotels/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java delete mode 100644 java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/external/users/UserRol.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/HotelsApplication.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/HotelsApplication.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/HotelsApplication.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/HotelsApplication.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/api/BookingAPI.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/api/BookingAPI.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/api/BookingAPI.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/api/BookingAPI.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/api/ManagerAPI.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/api/ManagerAPI.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/api/ManagerAPI.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/api/ManagerAPI.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/config/RestTemplateConfig.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/config/RestTemplateConfig.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/config/RestTemplateConfig.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/config/RestTemplateConfig.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/config/SecurityConfig.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java similarity index 96% rename from java/services/hotels/src/main/java/com/uva/monolith/config/SecurityConfig.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java index 6a82598..ccb40af 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/config/SecurityConfig.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java @@ -9,7 +9,7 @@ import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import com.uva.monolith.filter.JwtAuthenticationFilter; -import com.uva.monolith.services.hotels.models.external.users.UserRol; +import com.uva.monolith.models.external.users.UserRol; @Configuration @EnableWebSecurity diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java new file mode 100644 index 0000000..643c08f --- /dev/null +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java @@ -0,0 +1,91 @@ +package com.uva.monolith.controllers; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.time.LocalDate; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import com.uva.monolith.api.BookingAPI; +import com.uva.monolith.api.ManagerAPI; +import com.uva.monolith.exceptions.HotelNotFoundException; +import com.uva.monolith.exceptions.InvalidDateRangeException; +import com.uva.monolith.exceptions.InvalidRequestException; +import com.uva.monolith.models.Hotel; +import com.uva.monolith.models.Room; +import com.uva.monolith.repositories.HotelRepository; +import com.uva.monolith.repositories.RoomRepository; +import com.uva.monolith.services.HotelService; + +@RestController +@RequestMapping("hotels") +@CrossOrigin(origins = "*") +public class HotelController { + @Autowired + private HotelService hotelService; + + @GetMapping + public List<Hotel> getAllHotels( + @RequestParam(required = false) Integer managerId, + @RequestParam(required = false) LocalDate start, + @RequestParam(required = false) LocalDate end) { + return hotelService.getAllHotels(managerId, start, end); + } + + @PostMapping + public ResponseEntity<?> addHotel(@RequestBody Hotel hotel) { + Hotel savedHotel = hotelService.addHotel(hotel); + return new ResponseEntity<>(savedHotel, HttpStatus.CREATED); + } + + @GetMapping("/{id}") + public Hotel getHotelById(@PathVariable int id) { + return hotelService.getHotelById(id); + } + + @DeleteMapping + public ResponseEntity<?> deleteHotelsByManagerId( + @RequestParam(required = true) Integer managerId) { + List<Hotel> hotels = hotelService.deleteHotelsByManagerId(managerId); + return new ResponseEntity<>(hotels, HttpStatus.OK); + } + + @DeleteMapping("/{id}") + @Transactional + public ResponseEntity<Void> deleteHotel(@PathVariable Integer id) { + hotelService.deleteHotel(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @GetMapping("/{hotelId}/rooms") + public ResponseEntity<List<Room>> getRoomsFromHotel( + @PathVariable int hotelId, + @RequestParam(required = false) LocalDate start, + @RequestParam(required = false) LocalDate end) { + List<Room> rooms = hotelService.getRoomsFromHotel(hotelId, start, end); + return new ResponseEntity<>(rooms, HttpStatus.OK); + } + + @PatchMapping("/{hotelId}/rooms/{roomId}") + public ResponseEntity<Room> updateRoomAvailability( + @PathVariable int hotelId, + @PathVariable int roomId, + @RequestBody Map<String, Boolean> body) { + if (!body.containsKey("available")) { + throw new InvalidRequestException("El campo 'available' es obligatorio"); + } + Room updatedRoom = hotelService.updateRoomAvailability(hotelId, roomId, body.get("available")); + return new ResponseEntity<>(updatedRoom, HttpStatus.OK); + } + + @GetMapping("/{hotelId}/rooms/{roomId}") + public Room getRoomByIdFromHotel( + @PathVariable int hotelId, @PathVariable int roomId) { + return hotelService.getRoomByIdFromHotel(hotelId, roomId); + } +} diff --git a/java/services/hotels/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/GlobalExceptionHandler.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/GlobalExceptionHandler.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/HotelNotFoundException.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/HotelNotFoundException.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidDateRangeException.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidDateRangeException.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidRequestException.java similarity index 100% rename from java/services/hotels/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidRequestException.java diff --git a/java/services/hotels/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java similarity index 98% rename from java/services/hotels/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java index e905ed2..9718640 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java @@ -4,7 +4,7 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import com.uva.monolith.services.hotels.models.external.users.UserRol; +import com.uva.monolith.models.external.users.UserRol; import com.auth0.jwt.exceptions.JWTVerificationException; import org.springframework.beans.factory.annotation.Value; diff --git a/java/services/hotels/src/main/java/com/uva/monolith/interceptor/AuthHttpInterceptor.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java similarity index 95% rename from java/services/hotels/src/main/java/com/uva/monolith/interceptor/AuthHttpInterceptor.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java index 83e35b0..e604808 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/interceptor/AuthHttpInterceptor.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java @@ -7,7 +7,7 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.stereotype.Component; -import com.uva.monolith.services.hotels.models.external.users.UserRol; +import com.uva.monolith.models.external.users.UserRol; import com.uva.monolith.utils.JwtUtil; import java.io.IOException; diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Address.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java similarity index 97% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Address.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java index 5f31a2a..b7c67a3 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Address.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java @@ -1,4 +1,4 @@ -package com.uva.monolith.services.hotels.models; +package com.uva.monolith.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java similarity index 96% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java index 0d2a207..69761fe 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java @@ -1,4 +1,4 @@ -package com.uva.monolith.services.hotels.models; +package com.uva.monolith.models; import java.util.List; diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Room.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java similarity index 95% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Room.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java index 559fcc8..db6bd17 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/Room.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java @@ -1,4 +1,4 @@ -package com.uva.monolith.services.hotels.models; +package com.uva.monolith.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java similarity index 55% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java index b9e8258..0e1007d 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java @@ -1,4 +1,4 @@ -package com.uva.monolith.services.hotels.models; +package com.uva.monolith.models; public enum RoomType { SINGLE, diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java new file mode 100644 index 0000000..b541a76 --- /dev/null +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java @@ -0,0 +1,5 @@ +package com.uva.monolith.models.external.users; + +public enum UserRol { + ADMIN, CLIENT, HOTEL_ADMIN +} diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java similarity index 66% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java index a7f20f9..6b748f1 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java @@ -1,9 +1,9 @@ -package com.uva.monolith.services.hotels.repositories; +package com.uva.monolith.repositories; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; -import com.uva.monolith.services.hotels.models.Hotel; +import com.uva.monolith.models.Hotel; public interface HotelRepository extends JpaRepository<Hotel, Integer> { List<Hotel> findAllByManagerId(Integer managerId); diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java similarity index 79% rename from java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java index 35ee8eb..532e02e 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java @@ -1,9 +1,9 @@ -package com.uva.monolith.services.hotels.repositories; +package com.uva.monolith.repositories; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import com.uva.monolith.services.hotels.models.Room; +import com.uva.monolith.models.Room; import java.time.LocalDate; import java.util.List; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java new file mode 100644 index 0000000..c763f9d --- /dev/null +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java @@ -0,0 +1,107 @@ +package com.uva.monolith.services; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.uva.monolith.api.BookingAPI; +import com.uva.monolith.api.ManagerAPI; +import com.uva.monolith.exceptions.HotelNotFoundException; +import com.uva.monolith.exceptions.InvalidDateRangeException; +import com.uva.monolith.exceptions.InvalidRequestException; +import com.uva.monolith.models.Hotel; +import com.uva.monolith.models.Room; +import com.uva.monolith.repositories.HotelRepository; +import com.uva.monolith.repositories.RoomRepository; + +@Service +public class HotelService { + @Autowired + private HotelRepository hotelRepository; + @Autowired + private RoomRepository roomRepository; + @Autowired + private BookingAPI bookingAPI; + @Autowired + private ManagerAPI managerAPI; + + public List<Hotel> getAllHotels(Integer managerId, LocalDate start, LocalDate end) { + List<Hotel> hotels = (managerId != null) + ? hotelRepository.findAllByManagerId(managerId) + : hotelRepository.findAll(); + if (start != null && end != null) { + if (!start.isBefore(end)) { + throw new InvalidDateRangeException("La fecha de inicio debe ser anterior a la fecha de fin"); + } + Set<Integer> notAvailableRoomsId = bookingAPI.getNotAvailableRooms(start, end); + hotels = hotels.stream().map(h -> { + List<Room> rooms = h.getRooms().stream() + .filter(r -> notAvailableRoomsId.contains(r.getId())) + .toList(); + h.setRooms(rooms); + return h; + }).filter(h -> !h.getRooms().isEmpty()).toList(); + } + return hotels; + } + + public Hotel addHotel(Hotel hotel) { + boolean exist = managerAPI.existsManagerById(hotel.getManagerId()); + if (!exist) { + throw new InvalidRequestException("No existe el manager con id " + hotel.getManagerId()); + } + return hotelRepository.save(hotel); + } + + public Hotel getHotelById(int id) { + return hotelRepository.findById(id) + .orElseThrow(() -> new HotelNotFoundException(id)); + } + + public List<Hotel> deleteHotelsByManagerId(int managerId) { + List<Hotel> hotels = hotelRepository.findAllByManagerId(managerId); + if (hotels.isEmpty()) { + throw new InvalidRequestException("No hay hoteles para el manager con id " + managerId); + } + bookingAPI.deleteAllByManagerId(managerId); + hotelRepository.deleteAll(hotels); + return hotels; + } + + public void deleteHotel(int id) { + Hotel target = hotelRepository.findById(id) + .orElseThrow(() -> new HotelNotFoundException(id)); + bookingAPI.deleteAllByHotelId(id); + hotelRepository.delete(target); + } + + public List<Room> getRoomsFromHotel(int hotelId, LocalDate start, LocalDate end) { + List<Room> rooms = roomRepository.findAllByHotelId(hotelId); + if (start != null && end != null) { + if (!start.isBefore(end)) { + throw new InvalidDateRangeException("La fecha de inicio debe ser anterior a la fecha de fin"); + } + Set<Integer> notAvailableRoomsId = bookingAPI.getNotAvailableRooms(hotelId, start, end); + rooms = rooms.stream() + .filter(r -> !notAvailableRoomsId.contains(r.getId())) + .toList(); + } + return rooms; + } + + public Room updateRoomAvailability(int hotelId, int roomId, boolean available) { + Room targetRoom = roomRepository.findByIdAndHotelId(roomId, hotelId) + .orElseThrow(() -> new InvalidRequestException("Habitación no encontrada")); + targetRoom.setAvailable(available); + return roomRepository.save(targetRoom); + } + + public Room getRoomByIdFromHotel(int hotelId, int roomId) { + return roomRepository.findByIdAndHotelId(roomId, hotelId) + .orElseThrow(() -> new HotelNotFoundException(hotelId)); + } +} diff --git a/java/services/hotels/src/main/java/com/uva/monolith/utils/JwtUtil.java b/java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java similarity index 93% rename from java/services/hotels/src/main/java/com/uva/monolith/utils/JwtUtil.java rename to java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java index dd3fc60..a7bd5f8 100644 --- a/java/services/hotels/src/main/java/com/uva/monolith/utils/JwtUtil.java +++ b/java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java @@ -7,7 +7,7 @@ import org.springframework.stereotype.Component; import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; -import com.uva.monolith.services.hotels.models.external.users.UserRol; +import com.uva.monolith.models.external.users.UserRol; @Component public class JwtUtil { diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java b/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java deleted file mode 100644 index de29352..0000000 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.uva.monolith.services.hotels.controllers; - -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.time.LocalDate; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; - -import com.uva.monolith.api.BookingAPI; -import com.uva.monolith.api.ManagerAPI; -import com.uva.monolith.exceptions.HotelNotFoundException; -import com.uva.monolith.exceptions.InvalidDateRangeException; -import com.uva.monolith.exceptions.InvalidRequestException; -import com.uva.monolith.services.hotels.models.Hotel; -import com.uva.monolith.services.hotels.models.Room; -import com.uva.monolith.services.hotels.repositories.HotelRepository; -import com.uva.monolith.services.hotels.repositories.RoomRepository; - -@RestController -@RequestMapping("hotels") -@CrossOrigin(origins = "*") -public class HotelController { - @Autowired - private HotelRepository hotelRepository; - @Autowired - private RoomRepository roomRepository; - @Autowired - private BookingAPI bookingAPI; - @Autowired - private ManagerAPI managerAPI; - - // Obtener todos los hoteles - @GetMapping - public List<Hotel> getAllHotels( - @RequestParam(required = false) Integer managerId, - @RequestParam(required = false) LocalDate start, - @RequestParam(required = false) LocalDate end) { - List<Hotel> hotels = (managerId != null) - ? hotelRepository.findAllByManagerId(managerId) - : hotelRepository.findAll(); - if (start != null && end != null) { - // Filtramos para los hoteles que - // tengan habitaciones disponibles para ese rango de fechas - Set<Integer> notAvailableRoomsId = bookingAPI.getNotAvailableRooms(start, end); - hotels = hotels.stream().map(h -> { - if (h.getRooms().size() == 0) - return h; - List<Room> rooms = h.getRooms().stream() - .filter(r -> notAvailableRoomsId.contains(r.getId())).toList(); - h.setRooms(rooms); - return h; - }).filter(h -> h.getRooms().size() >= 0).toList(); - } - return hotels; - } - - // Añadir un hotel con sus habitaciones - @PostMapping - public ResponseEntity<?> addHotel(@RequestBody Hotel hotel) { - try { - - boolean exist = managerAPI.existsManagerById(hotel.getManagerId()); - String message = "No existe el manager con id " + String.valueOf(hotel.getManagerId()); - if (!exist) { - return new ResponseEntity<>(message, HttpStatus.BAD_REQUEST); - } - Hotel savedHotel = hotelRepository.save(hotel); - return new ResponseEntity<>(savedHotel, HttpStatus.CREATED); - } catch (Exception e) { - e.printStackTrace(System.err); - throw e; - } - } - - // Obtener un hotel por su ID - @GetMapping("/{id}") - public Hotel getHotelById(@PathVariable int id) { - return hotelRepository.findById(id) - .orElseThrow(() -> new HotelNotFoundException(id)); - } - - // Borrar hoteles administrados por un manager concreto - @DeleteMapping - public ResponseEntity<?> deleteHotelsByManagerId( - @RequestParam(required = true) Integer managerId) { - List<Hotel> hotels = hotelRepository.findAllByManagerId(managerId); - if (hotels.isEmpty()) { - return new ResponseEntity<>("No hay hoteles para el manager con id " + managerId, HttpStatus.BAD_REQUEST); - } - bookingAPI.deleteAllByManagerId(managerId); - hotelRepository.deleteAll(hotels); - return new ResponseEntity<>(hotels, HttpStatus.OK); - } - - // Borrar un hotel junto con sus habitaciones (borrado en cascada) - @DeleteMapping("/{id}") - @Transactional - public ResponseEntity<Void> deleteHotel(@PathVariable Integer id) { - Hotel target = hotelRepository.findById(id) - .orElseThrow(() -> new HotelNotFoundException(id)); - bookingAPI.deleteAllByHotelId(id); - hotelRepository.delete(target); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - // Obtener habitaciones de un hotel según disponibilidad y fechas - @GetMapping("/{hotelId}/rooms") - public ResponseEntity<List<Room>> getRoomsFromHotel( - @PathVariable int hotelId, - @RequestParam(required = false) LocalDate start, - @RequestParam(required = false) LocalDate end) { - - List<Room> rooms; - boolean dateMode = start != null && end != null; - if (dateMode) { - if (!start.isBefore(end)) { - throw new InvalidDateRangeException("La fecha de inicio debe ser anterior a la fecha de fin"); - } - } - rooms = roomRepository.findAllByHotelId(hotelId); - - if (dateMode) { - // Consultar el set de ids ocupados del id - Set<Integer> notAvailableRoomsId = bookingAPI.getNotAvailableRooms(hotelId, start, end); - rooms = rooms.stream() - .filter(r -> notAvailableRoomsId.contains(r.getId())).toList(); - } - - return new ResponseEntity<>(rooms, HttpStatus.OK); - } - - // Actualizar disponibilidad de una habitación específica en un hotel - @PatchMapping("/{hotelId}/rooms/{roomId}") - public ResponseEntity<Room> updateRoomAvailability( - @PathVariable int hotelId, - @PathVariable int roomId, - @RequestBody Map<String, Boolean> body) { - - if (!body.containsKey("available")) { - throw new InvalidRequestException("El campo 'available' es obligatorio"); - } - - Room targetRoom = roomRepository.findByIdAndHotelId(roomId, hotelId) - .orElseThrow(() -> new IllegalArgumentException("Habitación no encontrada")); - - targetRoom.setAvailable(body.get("available")); - roomRepository.save(targetRoom); - - return new ResponseEntity<>(targetRoom, HttpStatus.OK); - } - - // Obtener los detalles de una habitación específica en un hotel - @GetMapping("/{hotelId}/rooms/{roomId}") - public Room getRoomByIdFromHotel( - @PathVariable int hotelId, @PathVariable int roomId) { - return roomRepository.findByIdAndHotelId(roomId, hotelId) - .orElseThrow(() -> new HotelNotFoundException(hotelId)); - } -} diff --git a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/external/users/UserRol.java b/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/external/users/UserRol.java deleted file mode 100644 index 6bac3ab..0000000 --- a/java/services/hotels/src/main/java/com/uva/monolith/services/hotels/models/external/users/UserRol.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.uva.monolith.services.hotels.models.external.users; - -public enum UserRol { - ADMIN, CLIENT, HOTEL_ADMIN -} -- GitLab From 98874e8ba3c46b935c93a302d400b0d3380f9950 Mon Sep 17 00:00:00 2001 From: Hugo <hugo.cubino@estudiantes.uva.es> Date: Tue, 24 Dec 2024 15:10:52 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Cambiada=20estructura=20de=20paquetes=20a?= =?UTF-8?q?=20como=20est=C3=A1=20la=20de=20users?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hotels => api}/HotelsApplication.java | 2 +- .../hotels/api => api/apis}/BookingAPI.java | 2 +- .../hotels/api => api/apis}/ManagerAPI.java | 2 +- .../config/RestTemplateConfig.java | 2 +- .../hotels => api}/config/SecurityConfig.java | 6 ++--- .../controllers/HotelController.java | 22 +++++++++---------- .../exceptions/GlobalExceptionHandler.java | 2 +- .../exceptions/HotelNotFoundException.java | 2 +- .../exceptions/InvalidDateRangeException.java | 2 +- .../exceptions/InvalidRequestException.java | 2 +- .../filter/JwtAuthenticationFilter.java | 4 ++-- .../interceptor/AuthHttpInterceptor.java | 6 ++--- .../{apis/hotels => api}/models/Address.java | 2 +- .../{apis/hotels => api}/models/Hotel.java | 2 +- .../uva/{apis/hotels => api}/models/Room.java | 2 +- .../{apis/hotels => api}/models/RoomType.java | 2 +- .../models/external/users/UserRol.java | 2 +- .../repositories/HotelRepository.java | 5 +++-- .../repositories/RoomRepository.java | 4 ++-- .../hotels => api}/services/HotelService.java | 20 ++++++++--------- .../{apis/hotels => api}/utils/JwtUtil.java | 4 ++-- 21 files changed, 49 insertions(+), 48 deletions(-) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/HotelsApplication.java (91%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels/api => api/apis}/BookingAPI.java (98%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels/api => api/apis}/ManagerAPI.java (96%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/config/RestTemplateConfig.java (90%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/config/SecurityConfig.java (93%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/controllers/HotelController.java (84%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/exceptions/GlobalExceptionHandler.java (98%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/exceptions/HotelNotFoundException.java (90%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/exceptions/InvalidDateRangeException.java (80%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/exceptions/InvalidRequestException.java (88%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/filter/JwtAuthenticationFilter.java (97%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/interceptor/AuthHttpInterceptor.java (90%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/models/Address.java (98%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/models/Hotel.java (97%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/models/Room.java (97%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/models/RoomType.java (64%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/models/external/users/UserRol.java (53%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/repositories/HotelRepository.java (73%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/repositories/RoomRepository.java (85%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/services/HotelService.java (88%) rename java/services/hotels/src/main/java/com/uva/{apis/hotels => api}/utils/JwtUtil.java (92%) diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/HotelsApplication.java b/java/services/hotels/src/main/java/com/uva/api/HotelsApplication.java similarity index 91% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/HotelsApplication.java rename to java/services/hotels/src/main/java/com/uva/api/HotelsApplication.java index b458b0b..0d15b4f 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/HotelsApplication.java +++ b/java/services/hotels/src/main/java/com/uva/api/HotelsApplication.java @@ -1,4 +1,4 @@ -package com.uva.monolith; +package com.uva.api; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/api/BookingAPI.java b/java/services/hotels/src/main/java/com/uva/api/apis/BookingAPI.java similarity index 98% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/api/BookingAPI.java rename to java/services/hotels/src/main/java/com/uva/api/apis/BookingAPI.java index 369066b..53dc655 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/api/BookingAPI.java +++ b/java/services/hotels/src/main/java/com/uva/api/apis/BookingAPI.java @@ -1,4 +1,4 @@ -package com.uva.monolith.api; +package com.uva.api.apis; import java.time.LocalDate; import java.util.HashSet; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/api/ManagerAPI.java b/java/services/hotels/src/main/java/com/uva/api/apis/ManagerAPI.java similarity index 96% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/api/ManagerAPI.java rename to java/services/hotels/src/main/java/com/uva/api/apis/ManagerAPI.java index fda9694..a7eb79b 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/api/ManagerAPI.java +++ b/java/services/hotels/src/main/java/com/uva/api/apis/ManagerAPI.java @@ -1,4 +1,4 @@ -package com.uva.monolith.api; +package com.uva.api.apis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/config/RestTemplateConfig.java b/java/services/hotels/src/main/java/com/uva/api/config/RestTemplateConfig.java similarity index 90% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/config/RestTemplateConfig.java rename to java/services/hotels/src/main/java/com/uva/api/config/RestTemplateConfig.java index 43da2b7..5d215af 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/config/RestTemplateConfig.java +++ b/java/services/hotels/src/main/java/com/uva/api/config/RestTemplateConfig.java @@ -1,4 +1,4 @@ -package com.uva.monolith.config; +package com.uva.api.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java b/java/services/hotels/src/main/java/com/uva/api/config/SecurityConfig.java similarity index 93% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java rename to java/services/hotels/src/main/java/com/uva/api/config/SecurityConfig.java index ccb40af..41524e4 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/config/SecurityConfig.java +++ b/java/services/hotels/src/main/java/com/uva/api/config/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.uva.monolith.config; +package com.uva.api.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -8,8 +8,8 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import com.uva.monolith.filter.JwtAuthenticationFilter; -import com.uva.monolith.models.external.users.UserRol; +import com.uva.api.filter.JwtAuthenticationFilter; +import com.uva.api.models.external.users.UserRol; @Configuration @EnableWebSecurity diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java b/java/services/hotels/src/main/java/com/uva/api/controllers/HotelController.java similarity index 84% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java rename to java/services/hotels/src/main/java/com/uva/api/controllers/HotelController.java index 643c08f..ac95b78 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/controllers/HotelController.java +++ b/java/services/hotels/src/main/java/com/uva/api/controllers/HotelController.java @@ -1,4 +1,4 @@ -package com.uva.monolith.controllers; +package com.uva.api.controllers; import java.util.List; import java.util.Map; @@ -11,16 +11,16 @@ import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import com.uva.monolith.api.BookingAPI; -import com.uva.monolith.api.ManagerAPI; -import com.uva.monolith.exceptions.HotelNotFoundException; -import com.uva.monolith.exceptions.InvalidDateRangeException; -import com.uva.monolith.exceptions.InvalidRequestException; -import com.uva.monolith.models.Hotel; -import com.uva.monolith.models.Room; -import com.uva.monolith.repositories.HotelRepository; -import com.uva.monolith.repositories.RoomRepository; -import com.uva.monolith.services.HotelService; +import com.uva.api.apis.BookingAPI; +import com.uva.api.apis.ManagerAPI; +import com.uva.api.exceptions.HotelNotFoundException; +import com.uva.api.exceptions.InvalidDateRangeException; +import com.uva.api.exceptions.InvalidRequestException; +import com.uva.api.models.Hotel; +import com.uva.api.models.Room; +import com.uva.api.repositories.HotelRepository; +import com.uva.api.repositories.RoomRepository; +import com.uva.api.services.HotelService; @RestController @RequestMapping("hotels") diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/GlobalExceptionHandler.java b/java/services/hotels/src/main/java/com/uva/api/exceptions/GlobalExceptionHandler.java similarity index 98% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/GlobalExceptionHandler.java rename to java/services/hotels/src/main/java/com/uva/api/exceptions/GlobalExceptionHandler.java index 9428c51..5681a60 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/GlobalExceptionHandler.java +++ b/java/services/hotels/src/main/java/com/uva/api/exceptions/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.uva.monolith.exceptions; +package com.uva.api.exceptions; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/HotelNotFoundException.java b/java/services/hotels/src/main/java/com/uva/api/exceptions/HotelNotFoundException.java similarity index 90% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/HotelNotFoundException.java rename to java/services/hotels/src/main/java/com/uva/api/exceptions/HotelNotFoundException.java index 129a0b1..dc466f6 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/HotelNotFoundException.java +++ b/java/services/hotels/src/main/java/com/uva/api/exceptions/HotelNotFoundException.java @@ -1,4 +1,4 @@ -package com.uva.monolith.exceptions; +package com.uva.api.exceptions; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidDateRangeException.java b/java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidDateRangeException.java similarity index 80% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidDateRangeException.java rename to java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidDateRangeException.java index 5fea986..58bf97d 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidDateRangeException.java +++ b/java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidDateRangeException.java @@ -1,4 +1,4 @@ -package com.uva.monolith.exceptions; +package com.uva.api.exceptions; public class InvalidDateRangeException extends RuntimeException { public InvalidDateRangeException(String message) { diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidRequestException.java b/java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidRequestException.java similarity index 88% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidRequestException.java rename to java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidRequestException.java index ca09e05..677cc4b 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/exceptions/InvalidRequestException.java +++ b/java/services/hotels/src/main/java/com/uva/api/exceptions/InvalidRequestException.java @@ -1,4 +1,4 @@ -package com.uva.monolith.exceptions; +package com.uva.api.exceptions; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java b/java/services/hotels/src/main/java/com/uva/api/filter/JwtAuthenticationFilter.java similarity index 97% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java rename to java/services/hotels/src/main/java/com/uva/api/filter/JwtAuthenticationFilter.java index 9718640..58d6e76 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/filter/JwtAuthenticationFilter.java +++ b/java/services/hotels/src/main/java/com/uva/api/filter/JwtAuthenticationFilter.java @@ -1,10 +1,10 @@ -package com.uva.monolith.filter; +package com.uva.api.filter; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import com.uva.monolith.models.external.users.UserRol; +import com.uva.api.models.external.users.UserRol; import com.auth0.jwt.exceptions.JWTVerificationException; import org.springframework.beans.factory.annotation.Value; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java b/java/services/hotels/src/main/java/com/uva/api/interceptor/AuthHttpInterceptor.java similarity index 90% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java rename to java/services/hotels/src/main/java/com/uva/api/interceptor/AuthHttpInterceptor.java index e604808..490cab9 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/interceptor/AuthHttpInterceptor.java +++ b/java/services/hotels/src/main/java/com/uva/api/interceptor/AuthHttpInterceptor.java @@ -1,4 +1,4 @@ -package com.uva.monolith.interceptor; +package com.uva.api.interceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; @@ -7,8 +7,8 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.stereotype.Component; -import com.uva.monolith.models.external.users.UserRol; -import com.uva.monolith.utils.JwtUtil; +import com.uva.api.models.external.users.UserRol; +import com.uva.api.utils.JwtUtil; import java.io.IOException; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java b/java/services/hotels/src/main/java/com/uva/api/models/Address.java similarity index 98% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java rename to java/services/hotels/src/main/java/com/uva/api/models/Address.java index b7c67a3..d654ce6 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Address.java +++ b/java/services/hotels/src/main/java/com/uva/api/models/Address.java @@ -1,4 +1,4 @@ -package com.uva.monolith.models; +package com.uva.api.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java b/java/services/hotels/src/main/java/com/uva/api/models/Hotel.java similarity index 97% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java rename to java/services/hotels/src/main/java/com/uva/api/models/Hotel.java index 69761fe..15bce18 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Hotel.java +++ b/java/services/hotels/src/main/java/com/uva/api/models/Hotel.java @@ -1,4 +1,4 @@ -package com.uva.monolith.models; +package com.uva.api.models; import java.util.List; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java b/java/services/hotels/src/main/java/com/uva/api/models/Room.java similarity index 97% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java rename to java/services/hotels/src/main/java/com/uva/api/models/Room.java index db6bd17..c3a3099 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/Room.java +++ b/java/services/hotels/src/main/java/com/uva/api/models/Room.java @@ -1,4 +1,4 @@ -package com.uva.monolith.models; +package com.uva.api.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java b/java/services/hotels/src/main/java/com/uva/api/models/RoomType.java similarity index 64% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java rename to java/services/hotels/src/main/java/com/uva/api/models/RoomType.java index 0e1007d..4e988cc 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/RoomType.java +++ b/java/services/hotels/src/main/java/com/uva/api/models/RoomType.java @@ -1,4 +1,4 @@ -package com.uva.monolith.models; +package com.uva.api.models; public enum RoomType { SINGLE, diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java b/java/services/hotels/src/main/java/com/uva/api/models/external/users/UserRol.java similarity index 53% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java rename to java/services/hotels/src/main/java/com/uva/api/models/external/users/UserRol.java index b541a76..ab6efcc 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/models/external/users/UserRol.java +++ b/java/services/hotels/src/main/java/com/uva/api/models/external/users/UserRol.java @@ -1,4 +1,4 @@ -package com.uva.monolith.models.external.users; +package com.uva.api.models.external.users; public enum UserRol { ADMIN, CLIENT, HOTEL_ADMIN diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java b/java/services/hotels/src/main/java/com/uva/api/repositories/HotelRepository.java similarity index 73% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java rename to java/services/hotels/src/main/java/com/uva/api/repositories/HotelRepository.java index 6b748f1..f216ba6 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/HotelRepository.java +++ b/java/services/hotels/src/main/java/com/uva/api/repositories/HotelRepository.java @@ -1,9 +1,10 @@ -package com.uva.monolith.repositories; +package com.uva.api.repositories; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; -import com.uva.monolith.models.Hotel; + +import com.uva.api.models.Hotel; public interface HotelRepository extends JpaRepository<Hotel, Integer> { List<Hotel> findAllByManagerId(Integer managerId); diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java b/java/services/hotels/src/main/java/com/uva/api/repositories/RoomRepository.java similarity index 85% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java rename to java/services/hotels/src/main/java/com/uva/api/repositories/RoomRepository.java index 532e02e..e62066e 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/repositories/RoomRepository.java +++ b/java/services/hotels/src/main/java/com/uva/api/repositories/RoomRepository.java @@ -1,9 +1,9 @@ -package com.uva.monolith.repositories; +package com.uva.api.repositories; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import com.uva.monolith.models.Room; +import com.uva.api.models.Room; import java.time.LocalDate; import java.util.List; diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java b/java/services/hotels/src/main/java/com/uva/api/services/HotelService.java similarity index 88% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java rename to java/services/hotels/src/main/java/com/uva/api/services/HotelService.java index c763f9d..e5893bf 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/services/HotelService.java +++ b/java/services/hotels/src/main/java/com/uva/api/services/HotelService.java @@ -1,4 +1,4 @@ -package com.uva.monolith.services; +package com.uva.api.services; import java.time.LocalDate; import java.util.List; @@ -8,15 +8,15 @@ import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.uva.monolith.api.BookingAPI; -import com.uva.monolith.api.ManagerAPI; -import com.uva.monolith.exceptions.HotelNotFoundException; -import com.uva.monolith.exceptions.InvalidDateRangeException; -import com.uva.monolith.exceptions.InvalidRequestException; -import com.uva.monolith.models.Hotel; -import com.uva.monolith.models.Room; -import com.uva.monolith.repositories.HotelRepository; -import com.uva.monolith.repositories.RoomRepository; +import com.uva.api.apis.BookingAPI; +import com.uva.api.apis.ManagerAPI; +import com.uva.api.exceptions.HotelNotFoundException; +import com.uva.api.exceptions.InvalidDateRangeException; +import com.uva.api.exceptions.InvalidRequestException; +import com.uva.api.models.Hotel; +import com.uva.api.models.Room; +import com.uva.api.repositories.HotelRepository; +import com.uva.api.repositories.RoomRepository; @Service public class HotelService { diff --git a/java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java b/java/services/hotels/src/main/java/com/uva/api/utils/JwtUtil.java similarity index 92% rename from java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java rename to java/services/hotels/src/main/java/com/uva/api/utils/JwtUtil.java index a7bd5f8..73580a4 100644 --- a/java/services/hotels/src/main/java/com/uva/apis/hotels/utils/JwtUtil.java +++ b/java/services/hotels/src/main/java/com/uva/api/utils/JwtUtil.java @@ -1,4 +1,4 @@ -package com.uva.monolith.utils; +package com.uva.api.utils; import java.util.Date; @@ -7,7 +7,7 @@ import org.springframework.stereotype.Component; import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; -import com.uva.monolith.models.external.users.UserRol; +import com.uva.api.models.external.users.UserRol; @Component public class JwtUtil { -- GitLab