diff --git a/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java b/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java index 732bfa2bde19a9dc448c797b6ecb03b255905b74..0a5db248da6e6be909302e323931f79151b0ed62 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java @@ -1,4 +1,4 @@ -package com.uva.api; +package com.uva.monolith; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java b/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java index 914469e06839e24f3a61ea1a6414dfa726a516c1..8264f84a2e9f57dabaedc5892ea8a3ca0e931232 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.uva.api.config; +package com.uva.monolith.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.api.filter.JwtAuthenticationFilter; -import com.uva.api.services.users.models.UserRol; +import com.uva.monolith.filter.JwtAuthenticationFilter; +import com.uva.monolith.services.users.models.UserRol; @Configuration @EnableWebSecurity diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java index 5681a607c7b0885255a2259e809cb4bb29bf456d..9428c51a9c63c3623d44752c9e3cbe6cf78ac19f 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.uva.api.exceptions; +package com.uva.monolith.exceptions; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java index dc466f6f5f91da47dbe73c34b97059c817937f13..129a0b1086b4b78eb1f1725b9f241f51ce5540f8 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java @@ -1,4 +1,4 @@ -package com.uva.api.exceptions; +package com.uva.monolith.exceptions; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java index 58bf97d7b6dceb1db771de7058da6f159480a5b9..5fea986ef1e9279c459bc5aff10932049f283333 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java @@ -1,4 +1,4 @@ -package com.uva.api.exceptions; +package com.uva.monolith.exceptions; public class InvalidDateRangeException extends RuntimeException { public InvalidDateRangeException(String message) { diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java index 677cc4b7cb71bb20c3a9644ff2a8d3552546ea2c..ca09e054420dd174c4d2c3424dcc8fe74b6c8576 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java @@ -1,4 +1,4 @@ -package com.uva.api.exceptions; +package com.uva.monolith.exceptions; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java b/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java index 8833440bd4de52d07ffd2f259c98fc40cd3311cf..c564150f9e122628ca3684070442cad730ff61a4 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java @@ -1,4 +1,4 @@ -package com.uva.api.filter; +package com.uva.monolith.filter; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; @@ -13,7 +13,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; import org.springframework.stereotype.Component; -import com.uva.api.services.users.models.UserRol; +import com.uva.monolith.services.users.models.UserRol; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java index b454a36ad9426669bf38b13f7e155bae1fe58801..602f16a2f96e27d3e855440136cbcb41f9b57ab0 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java @@ -1,7 +1,7 @@ -package com.uva.api.services.bookings.controllers; +package com.uva.monolith.services.bookings.controllers; -import com.uva.api.services.bookings.models.Booking; -import com.uva.api.services.bookings.services.BookingService; +import com.uva.monolith.services.bookings.models.Booking; +import com.uva.monolith.services.bookings.services.BookingService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java index a1df84f14be05489e7ce63038c8da9a657b773cb..533ee0c7a1fa053dce449b855f1e46e08dabbe66 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java @@ -1,4 +1,4 @@ -package com.uva.api.services.bookings.models; +package com.uva.monolith.services.bookings.models; import jakarta.persistence.Basic; import jakarta.persistence.CascadeType; @@ -13,8 +13,8 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import java.time.LocalDate; -import com.uva.api.services.hotels.models.Room; -import com.uva.api.services.users.models.Client; +import com.uva.monolith.services.hotels.models.Room; +import com.uva.monolith.services.users.models.Client; @Entity @Table(name = "bookings") diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java index 50af181f35e9257564ae50c3bfe443fe34906ce5..b5ace65939b898798e6e5416fedda793388f2615 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java @@ -1,5 +1,5 @@ // BookingRepository.java -package com.uva.api.services.bookings.repositories; +package com.uva.monolith.services.bookings.repositories; import jakarta.transaction.Transactional; @@ -11,7 +11,7 @@ import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import com.uva.api.services.bookings.models.Booking; +import com.uva.monolith.services.bookings.models.Booking; public interface BookingRepository extends JpaRepository<Booking, Integer> { @Query("SELECT b FROM Booking b WHERE b.userId.id = ?1") diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java index 25544132e4f9444d5373d5a5395057f0e2f3cc74..176f49dd951630c9118b24536e8a7dd6f5a15521 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java @@ -1,11 +1,11 @@ -package com.uva.api.services.bookings.services; - -import com.uva.api.services.bookings.models.Booking; -import com.uva.api.services.bookings.repositories.BookingRepository; -import com.uva.api.services.hotels.models.Room; -import com.uva.api.services.hotels.repositories.RoomRepository; -import com.uva.api.services.users.models.Client; -import com.uva.api.services.users.repositories.ClientRepository; +package com.uva.monolith.services.bookings.services; + +import com.uva.monolith.services.bookings.models.Booking; +import com.uva.monolith.services.bookings.repositories.BookingRepository; +import com.uva.monolith.services.hotels.models.Room; +import com.uva.monolith.services.hotels.repositories.RoomRepository; +import com.uva.monolith.services.users.models.Client; +import com.uva.monolith.services.users.repositories.ClientRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java index 3321df6ffd2a2269c2fbc7d759dc72d6983d9ce1..781cb6278b0b40d237b603d7cfc61a63b7b2af0f 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java @@ -1,4 +1,4 @@ -package com.uva.api.services.hotels.controllers; +package com.uva.monolith.services.hotels.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.api.exceptions.HotelNotFoundException; -import com.uva.api.exceptions.InvalidDateRangeException; -import com.uva.api.exceptions.InvalidRequestException; -import com.uva.api.services.bookings.repositories.BookingRepository; -import com.uva.api.services.hotels.models.Hotel; -import com.uva.api.services.hotels.models.Room; -import com.uva.api.services.hotels.repositories.HotelRepository; -import com.uva.api.services.hotels.repositories.RoomRepository; -import com.uva.api.services.users.models.HotelManager; -import com.uva.api.services.users.repositories.HotelManagerRepository; +import com.uva.monolith.exceptions.HotelNotFoundException; +import com.uva.monolith.exceptions.InvalidDateRangeException; +import com.uva.monolith.exceptions.InvalidRequestException; +import com.uva.monolith.services.bookings.repositories.BookingRepository; +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; +import com.uva.monolith.services.users.models.HotelManager; +import com.uva.monolith.services.users.repositories.HotelManagerRepository; @RestController @RequestMapping("hotels") diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java index 61fbf6068b1cdf6eb93ea9cbe9646c60970c51bb..5f31a2a530da46c00460ad6cc6151b0769c1da61 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java @@ -1,4 +1,4 @@ -package com.uva.api.services.hotels.models; +package com.uva.monolith.services.hotels.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java index 71e9c04e3c2a9b2da2daa88c8b348fd40ac7436d..21f5cec8b44f9fae1a566b7af92964d30b654546 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java @@ -1,8 +1,8 @@ -package com.uva.api.services.hotels.models; +package com.uva.monolith.services.hotels.models; import java.util.List; -import com.uva.api.services.users.models.HotelManager; +import com.uva.monolith.services.users.models.HotelManager; import jakarta.persistence.Basic; import jakarta.persistence.CascadeType; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java index 368e6d712d23aaa5ee148f7760e34fdc6dc35301..72a6a728f729dc7b93b727606172de7cbe385ebb 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java @@ -1,9 +1,9 @@ -package com.uva.api.services.hotels.models; +package com.uva.monolith.services.hotels.models; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.uva.api.services.bookings.models.Booking; +import com.uva.monolith.services.bookings.models.Booking; import jakarta.persistence.Basic; import jakarta.persistence.CascadeType; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java index 7f85313a41d439e451a460ad182f15a33ecf5868..b9e82584850795afa7c7392248e3a6472ce24ac0 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java @@ -1,4 +1,4 @@ -package com.uva.api.services.hotels.models; +package com.uva.monolith.services.hotels.models; public enum RoomType { SINGLE, diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java index 320adb8df197599f0daa3f76ebea6a398c64f8a2..eddb6640a275284cb70bde60a29afd33039ba454 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java @@ -1,11 +1,11 @@ -package com.uva.api.services.hotels.repositories; +package com.uva.monolith.services.hotels.repositories; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import com.uva.api.services.hotels.models.Hotel; +import com.uva.monolith.services.hotels.models.Hotel; public interface HotelRepository extends JpaRepository<Hotel, Integer> { @Query("SELECT h FROM Hotel h WHERE h.hotelManager.id = ?1") diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java index 1f2a3fdca8896211a023a9cecf4ce3054e416463..15cc3d370129e0753b9ac9b1eb24136c93bf5405 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java @@ -1,9 +1,9 @@ -package com.uva.api.services.hotels.repositories; +package com.uva.monolith.services.hotels.repositories; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import com.uva.api.services.hotels.models.Room; +import com.uva.monolith.services.hotels.models.Room; import java.time.LocalDate; import java.util.List; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java index ab6a975f09f3b6aec3bc5e24bfcc2a299857d4cb..15fc498b79e239020aba6833ae9dbfaa8eeb59ee 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.controllers; +package com.uva.monolith.services.users.controllers; import java.util.List; import java.util.Map; @@ -19,9 +19,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.HttpClientErrorException; -import com.uva.api.services.users.models.User; -import com.uva.api.services.users.models.UserStatus; -import com.uva.api.services.users.services.UserService; +import com.uva.monolith.services.users.models.User; +import com.uva.monolith.services.users.models.UserStatus; +import com.uva.monolith.services.users.services.UserService; @RestController @RequestMapping("users") diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java index 9a4564dfcd91996ac3e5092f69079f2b8bb56a2f..8f334813beee8cb95caa275c66e46c9c539f2bd5 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; public class AuthResponse { diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java index 1814b0b1905483e5aaa1f218499d19c4600f9a9a..e106ecd3789a0237602e3194feacab7ddcbf4dfd 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java @@ -1,11 +1,11 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.uva.api.services.bookings.models.Booking; +import com.uva.monolith.services.bookings.models.Booking; import jakarta.persistence.Basic; import jakarta.persistence.CascadeType; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java index e185fa52d61da8118cea3959c288d58409167683..0e6f4b0aafa35ab8b23d202814c1fabefdcf86ed 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java @@ -1,9 +1,9 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.uva.api.services.hotels.models.Hotel; +import com.uva.monolith.services.hotels.models.Hotel; import jakarta.persistence.CascadeType; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java index e6262cec13171cbf18e398bdbe06564d23d4e874..ecfd33d1e39f6760f39fb0ad48fa195cd71432ea 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java index 0a02cb622f9ed057d7f33e0cb526df38fa6610dc..f408ba5ef9d34d96c32d3c42a6c2c51b1c6f22b1 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; public enum UserRol { ADMIN, HOTEL_ADMIN, CLIENT diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java index 883dc430e5dcf02722b5f516be941b37fda75f5a..362b8688260d4c13dc4a8eae205411c9d5533d79 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.models; +package com.uva.monolith.services.users.models; public enum UserStatus { NO_BOOKINGS, WITH_ACTIVE_BOOKINGS, WITH_INACTIVE_BOOKINGS; diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java index 7b56de6f701a9c1400e11fa63eeac5e709726e4a..1c1b46fbe665075b8f817367ff14ee65cf69ff76 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java @@ -1,9 +1,9 @@ -package com.uva.api.services.users.repositories; +package com.uva.monolith.services.users.repositories; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; -import com.uva.api.services.users.models.Client; +import com.uva.monolith.services.users.models.Client; public interface ClientRepository extends JpaRepository<Client, Integer> { Optional<Client> findByEmail(String email); diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java index 5a6f077e8507d3d7d8b210e8868a5d72d4b0639a..092a251b199fdecd80a2654fc3e6c96d1b7eb7f4 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java @@ -1,9 +1,9 @@ -package com.uva.api.services.users.repositories; +package com.uva.monolith.services.users.repositories; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; -import com.uva.api.services.users.models.HotelManager; +import com.uva.monolith.services.users.models.HotelManager; public interface HotelManagerRepository extends JpaRepository<HotelManager, Integer> { Optional<HotelManager> findByEmail(String email); diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java index fa555632f365ccdcdbbc65909cf1aee643c4c947..e5b44c976f095719854aa8070abc843b898036fe 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java @@ -1,10 +1,10 @@ -package com.uva.api.services.users.repositories; +package com.uva.monolith.services.users.repositories; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; -import com.uva.api.services.users.models.User; +import com.uva.monolith.services.users.models.User; public interface UserRepository extends JpaRepository<User, Integer> { Optional<User> findByEmail(String email); diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java index b81c35c3d86d8d60a9efa2fac5136cb992ae1715..bdd5b9db80a7c699844cfcd48669171ffbe6b8f0 100644 --- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java +++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java @@ -1,4 +1,4 @@ -package com.uva.api.services.users.services; +package com.uva.monolith.services.users.services; import java.time.LocalDate; import java.util.List; @@ -10,15 +10,15 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.web.client.HttpClientErrorException; -import com.uva.api.services.users.models.AuthResponse; -import com.uva.api.services.users.models.Client; -import com.uva.api.services.users.models.HotelManager; -import com.uva.api.services.users.models.User; -import com.uva.api.services.users.models.UserRol; -import com.uva.api.services.users.models.UserStatus; -import com.uva.api.services.users.repositories.ClientRepository; -import com.uva.api.services.users.repositories.HotelManagerRepository; -import com.uva.api.services.users.repositories.UserRepository; +import com.uva.monolith.services.users.models.AuthResponse; +import com.uva.monolith.services.users.models.Client; +import com.uva.monolith.services.users.models.HotelManager; +import com.uva.monolith.services.users.models.User; +import com.uva.monolith.services.users.models.UserRol; +import com.uva.monolith.services.users.models.UserStatus; +import com.uva.monolith.services.users.repositories.ClientRepository; +import com.uva.monolith.services.users.repositories.HotelManagerRepository; +import com.uva.monolith.services.users.repositories.UserRepository; @Service public class UserService { diff --git a/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java b/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java index 2714036cbcad837f3930b24879ab024f9a2b2c37..4955ba48f46cabea6cc76be3d018cbf0c80f059c 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java +++ b/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java @@ -9,7 +9,6 @@ import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; import com.uva.authentication.models.RegisterRequest; -import com.uva.authentication.models.remote.Response; import com.uva.authentication.models.remote.User; @Component @@ -39,11 +38,11 @@ public class UserAPI { * @return User or null if not exists * @throws HttpClientErrorException */ - public Response getUserByEmail(String email) { + public User getUserByEmail(String email) { String url = USER_API_URL + "?email={email}"; System.err.println(url); try { - ResponseEntity<Response> userResponse = restTemplate.getForEntity(url, Response.class, email); + ResponseEntity<User> userResponse = restTemplate.getForEntity(url, User.class, email); return userResponse.getBody(); } catch (HttpClientErrorException e) { if (e.getStatusCode() != HttpStatus.NOT_FOUND) diff --git a/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java b/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java index 094cb5a647bf500b92839eac8ee373f0df11ff2d..b64a0f69a673dcac07e93616c3affad5f6be3be5 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java +++ b/java/services/auth/src/main/java/com/uva/authentication/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.authentication.models.remote.Response; +import com.uva.authentication.models.remote.User; import com.uva.authentication.models.remote.UserRol; import com.uva.authentication.utils.JwtUtil; @@ -20,7 +20,7 @@ public class AuthHttpInterceptor implements ClientHttpRequestInterceptor { private JwtUtil jwtUtil; private String token; - private final Response USER = new Response(-1, "auth", "auth@dev.com", null, UserRol.ADMIN); + private final User USER = new User(-1, "auth", "auth@dev.com", null, UserRol.ADMIN); private String getAccessToken() { if (token == null || token.isEmpty()) { diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java deleted file mode 100644 index 354c65d506674f162fa3009b593943be01a92e6f..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.uva.authentication.models.remote; - -import jakarta.persistence.Basic; -import jakarta.persistence.CascadeType; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; - -@Entity -@Table(name = "bookings") -public class Booking { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Basic(optional = false) - private int id; - @JoinColumn(name = "user_id", referencedColumnName = "id") - @ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.MERGE) - private Client userId; - - public Booking() { - } - - public Booking(int id, Client userId) { - this.id = id; - this.userId = userId; - } - - public void setId(int id) { - this.id = id; - } - - public int getId() { - return this.id; - } - - public void setUserId(Client userId) { - this.userId = userId; - } - - public Client getUserId() { - return this.userId; - } - -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java deleted file mode 100644 index 5ebf50a3b5b1135b6c6b1f7206486c95a9e95b92..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.uva.authentication.models.remote; - -import java.util.ArrayList; -import java.util.List; - -import jakarta.persistence.Basic; -import jakarta.persistence.CascadeType; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.EnumType; -import jakarta.persistence.Enumerated; -import jakarta.persistence.FetchType; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; - -@Entity -@Table(name = "user_client") -public class Client extends User { - - @Basic(optional = false) - @Column(nullable = false) - @Enumerated(EnumType.STRING) - private UserStatus status = UserStatus.NO_BOOKINGS; - - @OneToMany(mappedBy = "userId", fetch = FetchType.EAGER, cascade = CascadeType.ALL) - private List<Booking> bookings = new ArrayList<>(); - - public Client() { - super(); - } - - public Client(int id, String name, String email, String password, UserStatus status, List<Booking> bookings) { - super(id, name, email, password, UserRol.CLIENT); - setStatus(status); - setBookings(bookings); - } - - public UserStatus getStatus() { - return this.status; - } - - public void setStatus(UserStatus status) { - this.status = status; - } - - public List<Booking> getBookings() { - return this.bookings; - } - - public void setBookings(List<Booking> bookings) { - this.bookings = bookings; - } -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java deleted file mode 100644 index 5710f9d545b57d39363435fa8776a856461291b6..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.uva.authentication.models.remote; - -import jakarta.persistence.Basic; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; - -@Entity -@Table(name = "hotels") -public class Hotel { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Basic(optional = false) - private int id; - - @ManyToOne(optional = false) - @JoinColumn(name = "hotel_manager", referencedColumnName = "id") - private HotelManager hotelManager; - - public Hotel() { - } - - public Hotel(int id, HotelManager hotelManager) { - setId(id); - setHotelManager(hotelManager); - } - - public int getId() { - return this.id; - } - - public void setId(int id) { - this.id = id; - } - - public void setHotelManager(HotelManager hotelManager) { - this.hotelManager = hotelManager; - } - - public HotelManager getHotelManager() { - return hotelManager; - } -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java deleted file mode 100644 index dd58a508436be9e9e51a99d26038cf6efec373a6..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.uva.authentication.models.remote; - -import java.util.ArrayList; -import java.util.List; - -import jakarta.persistence.CascadeType; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; - -@Entity -@Table(name = "hotel_manager_user") -public class HotelManager extends User { - - @OneToMany(mappedBy = "hotelManager", fetch = FetchType.EAGER, cascade = CascadeType.ALL) - private List<Hotel> hotels = new ArrayList<>(); - - public HotelManager() { - super(); - } - - public HotelManager(int id, String name, String email, String password, List<Hotel> hotels) { - super(id, name, email, password, UserRol.HOTEL_ADMIN); - setHotels(hotels); - } - - public void setHotels(List<Hotel> hotels) { - this.hotels = hotels; - } - -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java deleted file mode 100644 index 566a2100f058a41ee7a2d2d0ec4ded4845322bee..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.uva.authentication.models.remote; - -import com.uva.authentication.models.RegisterRequest; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.ToString; - -@Data -@ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) -@NoArgsConstructor -public class Response extends RegisterRequest { - private int id; -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java index a72ecfa8ef8f896afda01b7b1ead124c09b81fab..ae8de366340950b1bb5af476600408446a2d3f32 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java +++ b/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java @@ -1,95 +1,24 @@ package com.uva.authentication.models.remote; -import com.fasterxml.jackson.annotation.JsonIgnore; - -import jakarta.persistence.Basic; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.EnumType; -import jakarta.persistence.Enumerated; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.Inheritance; -import jakarta.persistence.InheritanceType; -import jakarta.persistence.Table; - -@Entity -@Inheritance(strategy = InheritanceType.JOINED) -@Table(name = "users") -public class User { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Basic(optional = false) - @Column(nullable = false) +import com.uva.authentication.models.RegisterRequest; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class User extends RegisterRequest { private int id; - @Basic(optional = false) - @Column(nullable = false) - private String name; - - @Basic(optional = false) - @Column(nullable = false, unique = true) - private String email; - - @JsonIgnore - @Basic(optional = false) - @Column(nullable = false) - private String password; - - @Basic(optional = false) - @Column(nullable = false) - @Enumerated(EnumType.STRING) - private UserRol rol = UserRol.CLIENT; - - public User() { - } - - public User(int id, String name, String email, String password, UserRol rol) { - setId(id); - setName(name); + public User(int id, String email, String password, String name, UserRol rol) { + super(); setEmail(email); + setName(name); + setPassword(password); setRol(rol); } - - public int getId() { - return this.id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return this.name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return this.email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPassword() { - return password; - } - - public void setPassword(String rawPassword) { - this.password = rawPassword; - } - - public UserRol getRol() { - return this.rol; - } - - public void setRol(UserRol rol) { - this.rol = rol; - } } diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java index fe4d90dd1dd595f4c09ec699b452910352b406d5..b03ee5fd9103fc33f4572b698026428aea3601e0 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java +++ b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java @@ -1,5 +1,5 @@ package com.uva.authentication.models.remote; public enum UserRol { - ADMIN, HOTEL_ADMIN, CLIENT + ADMIN, AUTH } diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java deleted file mode 100644 index 5dd62bc5c75271eafa9daa58ad332aa8ad56d413..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.uva.authentication.models.remote; - -public enum UserStatus { - NO_BOOKINGS, WITH_ACTIVE_BOOKINGS, WITH_INACTIVE_BOOKINGS; -} diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java deleted file mode 100644 index 6d2b8eeb777f2d3c9800c51dc34fe72ea504efd3..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.uva.authentication.repositories; - -import java.util.Optional; -import org.springframework.data.jpa.repository.JpaRepository; - -import com.uva.authentication.models.remote.Client; - -public interface ClientRepository extends JpaRepository<Client, Integer> { - Optional<Client> findByEmail(String email); -} \ No newline at end of file diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java deleted file mode 100644 index c051ddd0425ff264337261645dbe6f17cfa55b51..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.uva.authentication.repositories; - -import java.util.Optional; -import org.springframework.data.jpa.repository.JpaRepository; - -import com.uva.authentication.models.remote.HotelManager; - -public interface HotelManagerRepository extends JpaRepository<HotelManager, Integer> { - Optional<HotelManager> findByEmail(String email); -} \ No newline at end of file diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java deleted file mode 100644 index 65f98edd7f2d0700de933199ae54c484eb8c71a3..0000000000000000000000000000000000000000 --- a/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.uva.authentication.repositories; - -import java.util.Optional; -import org.springframework.data.jpa.repository.JpaRepository; - -import com.uva.authentication.models.remote.User; - -public interface UserRepository extends JpaRepository<User, Integer> { - Optional<User> findByEmail(String email); -} \ No newline at end of file diff --git a/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java b/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java index bccba7f12b3403c2a65e301a35fde7e900d80ef7..37b16ff299c9f5848ca7604dca417e036d13afa6 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java +++ b/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java @@ -9,7 +9,6 @@ import org.springframework.web.client.HttpClientErrorException; import com.uva.authentication.api.UserAPI; import com.uva.authentication.models.LoginRequest; import com.uva.authentication.models.RegisterRequest; -import com.uva.authentication.models.remote.Response; import com.uva.authentication.models.remote.User; import com.uva.authentication.utils.JwtUtil; import com.uva.authentication.utils.SecurityUtils; @@ -23,8 +22,7 @@ public class AuthService { @Autowired private UserAPI userAPI; - private boolean authenticateUser(LoginRequest request, Response user) { - System.err.println(user.getPassword() + " " + request.getPassword()); + private boolean authenticateUser(LoginRequest request, User user) { return (user != null) ? SecurityUtils.checkPassword(request.getPassword(), user.getPassword()) : false; @@ -38,9 +36,7 @@ public class AuthService { * @throws HttpClientErrorException(FORBIDDEN) if the credentials are invalid */ public String login(LoginRequest loginRequest) { - Response user = userAPI.getUserByEmail(loginRequest.getEmail()); - System.err.println(user.getName() + ", " + user.getEmail() + ", " + - user.getRol() + ", " + user.getPassword()); + User user = userAPI.getUserByEmail(loginRequest.getEmail()); if (!authenticateUser(loginRequest, user)) { throw new HttpClientErrorException(HttpStatus.FORBIDDEN, "Invalid credentials"); diff --git a/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java b/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java index 76cda7ebf748e7858cdc82ebc0c2608a2f7a26a0..7b5bbf50066d94d8de2fced81890d5ce8ea93569 100644 --- a/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java +++ b/java/services/auth/src/main/java/com/uva/authentication/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.authentication.models.remote.Response; +import com.uva.authentication.models.remote.User; @Component public class JwtUtil { @@ -25,7 +25,7 @@ public class JwtUtil { return jwtExpiration; } - public String generateToken(Response user) { + public String generateToken(User user) { Algorithm algorithm = Algorithm.HMAC256(secretKey); return JWT .create() diff --git a/java/services/users/pom.xml b/java/services/users/pom.xml index 7ee0d6abb08370c157323a0c6156b0602e4d2e5f..ebc7f265dda0729f0a8ece2f80537444a8d68328 100644 --- a/java/services/users/pom.xml +++ b/java/services/users/pom.xml @@ -63,6 +63,13 @@ <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> </dependency> + <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>1.18.36</version> + <scope>provided</scope> + </dependency> </dependencies> <build> diff --git a/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java b/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java new file mode 100644 index 0000000000000000000000000000000000000000..f4886cdcc22725505b705b321f143ceeb152e4b4 --- /dev/null +++ b/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java @@ -0,0 +1,16 @@ +package com.uva.api.apis; + +import java.util.List; + +import org.springframework.stereotype.Component; + +import com.uva.api.models.remote.Booking; + +@Component +public class BookingAPI { + + public List<Booking> getAllBookingsByUserId(int id) { + return null; + } + +} diff --git a/java/services/users/src/main/java/com/uva/api/models/Booking.java b/java/services/users/src/main/java/com/uva/api/models/Booking.java deleted file mode 100644 index 88367c6f0d3a3abfab5365532684b14670fb3c13..0000000000000000000000000000000000000000 --- a/java/services/users/src/main/java/com/uva/api/models/Booking.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.uva.api.models; - -import java.time.LocalDate; - -public class Booking { - - public LocalDate getEndDate() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getEndDate'"); - } - -} diff --git a/java/services/users/src/main/java/com/uva/api/models/Client.java b/java/services/users/src/main/java/com/uva/api/models/Client.java index 238e23da769098da2b38750e0d207f3102d93225..d5f695ecc59fce3dc6685ce98fdbcd632a342ea8 100644 --- a/java/services/users/src/main/java/com/uva/api/models/Client.java +++ b/java/services/users/src/main/java/com/uva/api/models/Client.java @@ -1,40 +1,40 @@ package com.uva.api.models; import java.time.LocalDate; -import java.util.ArrayList; import java.util.List; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.uva.api.models.remote.Booking; import jakarta.persistence.Basic; -import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; import jakarta.persistence.Enumerated; -import jakarta.persistence.FetchType; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Table(name = "user_client") +@NoArgsConstructor +@Getter +@Setter +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) public class Client extends User { @Basic(optional = false) @Column(nullable = false) @Enumerated(EnumType.STRING) - private UserStatus status; + private UserStatus status = UserStatus.NO_BOOKINGS; - @JsonIgnore - @OneToMany(mappedBy = "userId", fetch = FetchType.EAGER, cascade = CascadeType.ALL) private List<Booking> bookings; - public Client() { - super(); - bookings = new ArrayList<>(); - status = UserStatus.NO_BOOKINGS; - } - public Client(int id, String name, String email, String password, UserStatus status, List<Booking> bookings) { super(id, name, email, password, UserRol.CLIENT); @@ -53,12 +53,4 @@ public class Client extends User { public void setStatus(UserStatus status) { this.status = status; } - - public List<Booking> getBookings() { - return this.bookings; - } - - public void setBookings(List<Booking> bookings) { - this.bookings = bookings; - } } diff --git a/java/services/users/src/main/java/com/uva/api/models/Hotel.java b/java/services/users/src/main/java/com/uva/api/models/Hotel.java deleted file mode 100644 index 29adbbe1663dc6276f89acd15ddba3f5c12d7c01..0000000000000000000000000000000000000000 --- a/java/services/users/src/main/java/com/uva/api/models/Hotel.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.uva.api.models; - -public class Hotel { - -} diff --git a/java/services/users/src/main/java/com/uva/api/models/HotelManager.java b/java/services/users/src/main/java/com/uva/api/models/HotelManager.java index 46570f3a368750dea2385f6b87c7ab63eda94e85..a4fdb514bc42db1649b4a50ae990fa6e18212873 100644 --- a/java/services/users/src/main/java/com/uva/api/models/HotelManager.java +++ b/java/services/users/src/main/java/com/uva/api/models/HotelManager.java @@ -1,37 +1,30 @@ package com.uva.api.models; -import java.util.ArrayList; -import java.util.List; -import com.fasterxml.jackson.annotation.JsonIgnore; -import jakarta.persistence.CascadeType; +import com.fasterxml.jackson.databind.JsonNode; + import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Table(name = "hotel_manager_user") +@NoArgsConstructor +@Getter +@Setter +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) public class HotelManager extends User { - @JsonIgnore - @OneToMany(mappedBy = "hotelManager", fetch = FetchType.EAGER, cascade = CascadeType.ALL) - private List<Hotel> hotels; - - public HotelManager() { - super(); - hotels = new ArrayList<>(); - } + private JsonNode hotels; - public HotelManager(int id, String name, String email, String password, List<Hotel> hotels) { + public HotelManager(int id, String name, String email, String password, JsonNode hotels) { super(id, name, email, password, UserRol.HOTEL_ADMIN); setHotels(hotels); } - - public List<Hotel> getHotels() { - return this.hotels; - } - - public void setHotels(List<Hotel> hotels) { - this.hotels = hotels; - } } diff --git a/java/services/users/src/main/java/com/uva/api/models/User.java b/java/services/users/src/main/java/com/uva/api/models/User.java index bdcb1b55e9b9d1e48ace421f8045489c63d78955..401f505bff181e250386defeb8f8bd7d6f477bd4 100644 --- a/java/services/users/src/main/java/com/uva/api/models/User.java +++ b/java/services/users/src/main/java/com/uva/api/models/User.java @@ -13,10 +13,24 @@ import jakarta.persistence.Id; import jakarta.persistence.Inheritance; import jakarta.persistence.InheritanceType; import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Inheritance(strategy = InheritanceType.JOINED) @Table(name = "users") +@NoArgsConstructor +@AllArgsConstructor +@Setter +@Getter +@Data +@EqualsAndHashCode +@ToString public class User { @Id @@ -33,6 +47,7 @@ public class User { @Column(nullable = false, unique = true) private String email; + @JsonIgnore @Basic(optional = false) @Column(nullable = false) private String password; @@ -41,54 +56,4 @@ public class User { @Column(nullable = false) @Enumerated(EnumType.STRING) private UserRol rol = UserRol.CLIENT; - - public User() { - } - - public User(int id, String name, String email, String password, UserRol rol) { - setId(id); - setName(name); - setEmail(email); - setRol(rol); - } - - public int getId() { - return this.id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return this.name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return this.email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPassword() { - return password; - } - - public void setPassword(String rawPassword) { - this.password = rawPassword; - } - - public UserRol getRol() { - return this.rol; - } - - public void setRol(UserRol rol) { - this.rol = rol; - } -} +} \ No newline at end of file diff --git a/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java b/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java new file mode 100644 index 0000000000000000000000000000000000000000..edb2b0656c7a7f487f8c5f4e4465e8c34e4b55cb --- /dev/null +++ b/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java @@ -0,0 +1,21 @@ +package com.uva.api.models.remote; + +import java.time.LocalDate; + +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +@Setter +@Getter +@NoArgsConstructor +@AllArgsConstructor +@ToString +@EqualsAndHashCode +public class Booking { + private LocalDate startDate; + private LocalDate endDate; +} diff --git a/java/services/users/src/main/java/com/uva/api/services/UserService.java b/java/services/users/src/main/java/com/uva/api/services/UserService.java index 820880fe62bc60b479e78a4483b736704c2a6630..31d030530a8027e3262d82a44477c6a2a3cb0e8e 100644 --- a/java/services/users/src/main/java/com/uva/api/services/UserService.java +++ b/java/services/users/src/main/java/com/uva/api/services/UserService.java @@ -10,12 +10,14 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.web.client.HttpClientErrorException; +import com.uva.api.apis.BookingAPI; import com.uva.api.models.AuthResponse; import com.uva.api.models.Client; import com.uva.api.models.HotelManager; import com.uva.api.models.User; import com.uva.api.models.UserRol; import com.uva.api.models.UserStatus; +import com.uva.api.models.remote.Booking; import com.uva.api.repositories.ClientRepository; import com.uva.api.repositories.HotelManagerRepository; import com.uva.api.repositories.UserRepository; @@ -32,6 +34,9 @@ public class UserService { @Autowired private HotelManagerRepository hotelManagerRepository; + @Autowired + private BookingAPI bookingAPI; + public List<User> getAllUsers() { return userRepository.findAll(); } @@ -44,6 +49,15 @@ public class UserService { return assertUser(userRepository.findById(id)); } + public Client getClientById(int id) { + User user = assertUser(clientRepository.findById(id)); + Client client = new Client(); + BeanUtils.copyProperties(user, client); + List<Booking> bookings = bookingAPI.getAllBookingsByUserId(user.getId()); + client.setBookings(bookings); + return client; + } + public AuthResponse getUserByEmail(String email) { User u = assertUser(userRepository.findByEmail(email)); AuthResponse auth = new AuthResponse(); @@ -68,7 +82,7 @@ public class UserService { case ADMIN: User admin = new User(); BeanUtils.copyProperties(registerRequest, admin); - newUser = admin; // userAPI.save(admin); + newUser = userRepository.save(admin); break; case CLIENT: // Por defecto cliente normal