diff --git a/.gitignore b/.gitignore index 84dc582..99172eb 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ build/ ### VS Code ### .vscode/ +sendgrid.env diff --git a/src/component-test/java/io/wkrzywiec/hexagonal/library/application/AddNewBookTest.java b/src/component-test/java/io/wkrzywiec/hexagonal/library/inventory/AddNewBookTest.java similarity index 90% rename from src/component-test/java/io/wkrzywiec/hexagonal/library/application/AddNewBookTest.java rename to src/component-test/java/io/wkrzywiec/hexagonal/library/inventory/AddNewBookTest.java index 075a1e5..87e2e25 100644 --- a/src/component-test/java/io/wkrzywiec/hexagonal/library/application/AddNewBookTest.java +++ b/src/component-test/java/io/wkrzywiec/hexagonal/library/inventory/AddNewBookTest.java @@ -1,11 +1,11 @@ -package io.wkrzywiec.hexagonal.library.application; +package io.wkrzywiec.hexagonal.library.inventory; import io.restassured.RestAssured; import io.restassured.response.ValidatableResponse; import io.wkrzywiec.hexagonal.library.TestData; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity; +import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookEntity; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacade.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacade.java similarity index 52% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacade.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacade.java index bb0c32d..9cbd767 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacade.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacade.java @@ -1,16 +1,16 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing; +package io.wkrzywiec.hexagonal.library.borrowing; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.ActiveUserNotFoundException; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.AvailableBookNotFoundExeption; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming.MakeBookAvailable; -import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming.ReserveBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.ActiveUserNotFoundException; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.AvailableBookNotFoundExeption; +import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; +import io.wkrzywiec.hexagonal.library.borrowing.ports.incoming.MakeBookAvailable; +import io.wkrzywiec.hexagonal.library.borrowing.ports.incoming.ReserveBook; +import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase; public class BorrowingFacade implements MakeBookAvailable, ReserveBook { diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapter.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapter.java similarity index 82% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapter.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapter.java index b18534f..2a8fbe7 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapter.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapter.java @@ -1,11 +1,11 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.adapter; +package io.wkrzywiec.hexagonal.library.borrowing.infrastructure; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationId; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; +import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase; import lombok.AllArgsConstructor; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ActiveUser.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ActiveUser.java similarity index 83% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ActiveUser.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ActiveUser.java index 6338783..55aec81 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ActiveUser.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ActiveUser.java @@ -1,6 +1,6 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.TooManyBooksAssignedToUserException; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.TooManyBooksAssignedToUserException; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/AvailableBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/AvailableBook.java similarity index 82% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/AvailableBook.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/AvailableBook.java index cd505b9..4a7d9e4 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/AvailableBook.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/AvailableBook.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/Book.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/Book.java new file mode 100644 index 0000000..96230c5 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/Book.java @@ -0,0 +1,5 @@ +package io.wkrzywiec.hexagonal.library.borrowing.model; + +public interface Book { + Long getIdAsLong(); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/BookReservationCommand.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/BookReservationCommand.java similarity index 80% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/BookReservationCommand.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/BookReservationCommand.java index bea0faa..ff91a2e 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/BookReservationCommand.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/BookReservationCommand.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/MakeBookAvailableCommand.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/MakeBookAvailableCommand.java similarity index 78% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/MakeBookAvailableCommand.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/MakeBookAvailableCommand.java index 05afc26..390b9a0 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/MakeBookAvailableCommand.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/MakeBookAvailableCommand.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationDetails.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationDetails.java similarity index 87% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationDetails.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationDetails.java index eb0e14f..402a253 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationDetails.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationDetails.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationId.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationId.java similarity index 80% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationId.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationId.java index 3e08e00..df9b938 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservationId.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservationId.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservedBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservedBook.java similarity index 88% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservedBook.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservedBook.java index 200d0e2..bd1f546 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/ReservedBook.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/ReservedBook.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; +package io.wkrzywiec.hexagonal.library.borrowing.model; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/ActiveUserNotFoundException.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/ActiveUserNotFoundException.java similarity index 78% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/ActiveUserNotFoundException.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/ActiveUserNotFoundException.java index 5265ab4..6b32338 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/ActiveUserNotFoundException.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/ActiveUserNotFoundException.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception; +package io.wkrzywiec.hexagonal.library.borrowing.model.exception; public class ActiveUserNotFoundException extends RuntimeException { public ActiveUserNotFoundException(Long bookId){ diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/AvailableBookNotFoundExeption.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/AvailableBookNotFoundExeption.java similarity index 78% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/AvailableBookNotFoundExeption.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/AvailableBookNotFoundExeption.java index 42a4b19..93a7193 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/AvailableBookNotFoundExeption.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/AvailableBookNotFoundExeption.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception; +package io.wkrzywiec.hexagonal.library.borrowing.model.exception; public class AvailableBookNotFoundExeption extends RuntimeException { public AvailableBookNotFoundExeption(Long bookId){ diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/TooManyBooksAssignedToUserException.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/TooManyBooksAssignedToUserException.java similarity index 82% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/TooManyBooksAssignedToUserException.java rename to src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/TooManyBooksAssignedToUserException.java index 5acdb2b..bdfecf6 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/exception/TooManyBooksAssignedToUserException.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/model/exception/TooManyBooksAssignedToUserException.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception; +package io.wkrzywiec.hexagonal.library.borrowing.model.exception; public class TooManyBooksAssignedToUserException extends RuntimeException { public TooManyBooksAssignedToUserException(Long userId){ diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/MakeBookAvailable.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/MakeBookAvailable.java new file mode 100644 index 0000000..8a7c3c8 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/MakeBookAvailable.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.borrowing.ports.incoming; + +import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand; + +public interface MakeBookAvailable { + void handle(MakeBookAvailableCommand bookAvailableCommand); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/ReserveBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/ReserveBook.java new file mode 100644 index 0000000..28cc2c6 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/incoming/ReserveBook.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.borrowing.ports.incoming; + +import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand; + +public interface ReserveBook { + Long handle(BookReservationCommand bookReservation); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/outgoing/BorrowingDatabase.java b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/outgoing/BorrowingDatabase.java new file mode 100644 index 0000000..5e33471 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/borrowing/ports/outgoing/BorrowingDatabase.java @@ -0,0 +1,15 @@ +package io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing; + +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; + +import java.util.Optional; + +public interface BorrowingDatabase { + void setBookAvailable(Long bookId); + Optional getAvailableBook(Long bookId); + Optional getActiveUser(Long userId); + ReservationDetails save(ReservedBook reservedBook); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/Book.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/Book.java deleted file mode 100644 index bdcc0e9..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/Book.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; - -public interface Book { - Long getIdAsLong(); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/EmailCreator.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/EmailCreator.java deleted file mode 100644 index 3104812..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/model/EmailCreator.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.model; - -public class EmailCreator { - -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/MakeBookAvailable.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/MakeBookAvailable.java deleted file mode 100644 index 1acd2b6..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/MakeBookAvailable.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming; - -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand; - -public interface MakeBookAvailable { - void handle(MakeBookAvailableCommand bookAvailableCommand); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/ReserveBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/ReserveBook.java deleted file mode 100644 index db7b16d..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/incoming/ReserveBook.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming; - -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand; - -public interface ReserveBook { - Long handle(BookReservationCommand bookReservation); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/BorrowingDatabase.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/BorrowingDatabase.java deleted file mode 100644 index e866b8f..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/BorrowingDatabase.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing; - -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; - -import java.util.Optional; - -public interface BorrowingDatabase { - void setBookAvailable(Long bookId); - Optional getAvailableBook(Long bookId); - Optional getActiveUser(Long userId); - ReservationDetails save(ReservedBook reservedBook); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/EmailSender.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/EmailSender.java deleted file mode 100644 index 1d4ac0a..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/ports/outgoing/EmailSender.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing; - -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; - -public interface EmailSender { - void sendReservationConfirmationEmail(ReservationDetails reservationDetails); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/incoming/AddNewBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/incoming/AddNewBook.java deleted file mode 100644 index 403bc21..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/incoming/AddNewBook.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming; - -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand; - -public interface AddNewBook { - void handle(AddNewBookCommand addNewBookCommand); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/GetBookDetails.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/GetBookDetails.java deleted file mode 100644 index ed987b5..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/GetBookDetails.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing; - -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; - -public interface GetBookDetails { - BookDetailsDTO handle(String bookId); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/InventoryDatabase.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/InventoryDatabase.java deleted file mode 100644 index c00cc0d..0000000 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/ports/outgoing/InventoryDatabase.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing; - -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; - -public interface InventoryDatabase { - void save(BookDetailsDTO newBookDTO); -} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailContent.java b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailContent.java new file mode 100644 index 0000000..df68b69 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailContent.java @@ -0,0 +1,4 @@ +package io.wkrzywiec.hexagonal.library.email; + +public class EmailContent { +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailCreator.java b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailCreator.java new file mode 100644 index 0000000..b8bcb99 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailCreator.java @@ -0,0 +1,10 @@ +package io.wkrzywiec.hexagonal.library.email; + +class EmailCreator { + +// EmailContent prepareEmailContent() { +// // email to +// // email from +// // +// } +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailSender.java b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailSender.java new file mode 100644 index 0000000..d0223fd --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/email/EmailSender.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.email; + +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; + +public interface EmailSender { + void sendReservationConfirmationEmail(ReservationDetails reservationDetails); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/email/SendGridEmailSender.java b/src/main/java/io/wkrzywiec/hexagonal/library/email/SendGridEmailSender.java new file mode 100644 index 0000000..a273c39 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/email/SendGridEmailSender.java @@ -0,0 +1,33 @@ +package io.wkrzywiec.hexagonal.library.email; + +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; + +public class SendGridEmailSender implements EmailSender { + + @Override + public void sendReservationConfirmationEmail(ReservationDetails reservationDetails) { + // email address - to + // repl9oservation id + // book title` + +// Email from = new Email("test@example.com"); +// String subject = "Sending with SendGrid is Fun"; +// Email to = new Email("test@example.com"); +// Content content = new Content("text/plain", "and easy to do anywhere, even with Java"); +// Mail mail = new Mail(from, subject, to, content); +// +// SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY")); +// Request request = new Request(); +// try { +// request.setMethod(Method.POST); +// request.setEndpoint("mail/send"); +// request.setBody(mail.build()); +// Response response = sg.api(request); +// System.out.println(response.getStatusCode()); +// System.out.println(response.getBody()); +// System.out.println(response.getHeaders()); +// } catch (IOException ex) { +// +// } + } +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacade.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacade.java similarity index 53% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacade.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacade.java index 3908b81..ad3f6e7 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacade.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacade.java @@ -1,10 +1,10 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory; +package io.wkrzywiec.hexagonal.library.inventory; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand; +import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase; public class InventoryFacade implements AddNewBook{ diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/application/BookCommandController.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/application/BookCommandController.java similarity index 78% rename from src/main/java/io/wkrzywiec/hexagonal/library/application/BookCommandController.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/application/BookCommandController.java index 4617888..0f7ea53 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/application/BookCommandController.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/application/BookCommandController.java @@ -1,7 +1,7 @@ -package io.wkrzywiec.hexagonal.library.application; +package io.wkrzywiec.hexagonal.library.inventory.application; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook; +import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand; +import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/AddNewBookCommand.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/AddNewBookCommand.java similarity index 79% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/AddNewBookCommand.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/AddNewBookCommand.java index 92ac45b..c8d0f29 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/AddNewBookCommand.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/AddNewBookCommand.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory.dto; +package io.wkrzywiec.hexagonal.library.inventory.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/BookDetailsDTO.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/BookDetailsDTO.java similarity index 88% rename from src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/BookDetailsDTO.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/BookDetailsDTO.java index d4ce19f..5df2853 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/domain/inventory/dto/BookDetailsDTO.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/dto/BookDetailsDTO.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory.dto; +package io.wkrzywiec.hexagonal.library.inventory.dto; import lombok.Builder; import lombok.EqualsAndHashCode; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapter.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapter.java similarity index 95% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapter.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapter.java index b361c4c..8671f1a 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapter.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapter.java @@ -1,10 +1,10 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.adapter; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/InventoryDatabaseAdapter.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDatabaseAdapter.java similarity index 73% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/InventoryDatabaseAdapter.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDatabaseAdapter.java index 3d7a830..d5aea9e 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/InventoryDatabaseAdapter.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDatabaseAdapter.java @@ -1,10 +1,10 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.adapter; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase; -import io.wkrzywiec.hexagonal.library.infrastructure.repository.AuthorEntiy; -import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity; -import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookRepository; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase; +import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.AuthorEntiy; +import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookEntity; +import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookRepository; import lombok.RequiredArgsConstructor; import java.util.List; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/InventoryDomainConfig.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDomainConfig.java similarity index 54% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/InventoryDomainConfig.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDomainConfig.java index 166891a..1ce811f 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/InventoryDomainConfig.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/InventoryDomainConfig.java @@ -1,10 +1,8 @@ -package io.wkrzywiec.hexagonal.library.infrastructure; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure; -import io.wkrzywiec.hexagonal.library.domain.inventory.InventoryFacade; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook; -import io.wkrzywiec.hexagonal.library.infrastructure.adapter.GoogleBooksAdapter; -import io.wkrzywiec.hexagonal.library.infrastructure.adapter.InventoryDatabaseAdapter; -import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookRepository; +import io.wkrzywiec.hexagonal.library.inventory.InventoryFacade; +import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook; +import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/AuthorEntiy.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/AuthorEntiy.java similarity index 86% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/AuthorEntiy.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/AuthorEntiy.java index 7af7c8d..80e2825 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/AuthorEntiy.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/AuthorEntiy.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.repository; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository; import lombok.Builder; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookEntity.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookEntity.java similarity index 95% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookEntity.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookEntity.java index 29c1836..9fcafec 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookEntity.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookEntity.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.repository; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookRepository.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookRepository.java similarity index 72% rename from src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookRepository.java rename to src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookRepository.java index cb364da..a0c21fa 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/infrastructure/repository/BookRepository.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/repository/BookRepository.java @@ -1,4 +1,4 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.repository; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/incoming/AddNewBook.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/incoming/AddNewBook.java new file mode 100644 index 0000000..c720f30 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/incoming/AddNewBook.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.inventory.ports.incoming; + +import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand; + +public interface AddNewBook { + void handle(AddNewBookCommand addNewBookCommand); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/GetBookDetails.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/GetBookDetails.java new file mode 100644 index 0000000..a52825e --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/GetBookDetails.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.inventory.ports.outgoing; + +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; + +public interface GetBookDetails { + BookDetailsDTO handle(String bookId); +} diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/InventoryDatabase.java b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/InventoryDatabase.java new file mode 100644 index 0000000..f664843 --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/inventory/ports/outgoing/InventoryDatabase.java @@ -0,0 +1,7 @@ +package io.wkrzywiec.hexagonal.library.inventory.ports.outgoing; + +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; + +public interface InventoryDatabase { + void save(BookDetailsDTO newBookDTO); +} diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/TestData.java b/src/test/java/io/wkrzywiec/hexagonal/library/TestData.java index 063befa..395ad17 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/TestData.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/TestData.java @@ -1,7 +1,6 @@ package io.wkrzywiec.hexagonal.library; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; import java.util.Collections; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacadeTest.java b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacadeTest.java similarity index 87% rename from src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacadeTest.java rename to src/test/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacadeTest.java index c7bf1fa..d504a04 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/BorrowingFacadeTest.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/BorrowingFacadeTest.java @@ -1,13 +1,12 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing; +package io.wkrzywiec.hexagonal.library.borrowing; -import io.wkrzywiec.hexagonal.library.ReservationTestData; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.ActiveUserNotFoundException; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.AvailableBookNotFoundExeption; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.TooManyBooksAssignedToUserException; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand; +import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.ActiveUserNotFoundException; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.AvailableBookNotFoundExeption; +import io.wkrzywiec.hexagonal.library.borrowing.model.exception.TooManyBooksAssignedToUserException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/InMemoryBorrowingDatabase.java b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/InMemoryBorrowingDatabase.java similarity index 72% rename from src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/InMemoryBorrowingDatabase.java rename to src/test/java/io/wkrzywiec/hexagonal/library/borrowing/InMemoryBorrowingDatabase.java index a4033f4..14588d0 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/domain/borrowing/InMemoryBorrowingDatabase.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/InMemoryBorrowingDatabase.java @@ -1,11 +1,11 @@ -package io.wkrzywiec.hexagonal.library.domain.borrowing; +package io.wkrzywiec.hexagonal.library.borrowing; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationId; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; +import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase; import java.util.Optional; import java.util.Random; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/ReservationTestData.java b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/ReservationTestData.java similarity index 56% rename from src/test/java/io/wkrzywiec/hexagonal/library/ReservationTestData.java rename to src/test/java/io/wkrzywiec/hexagonal/library/borrowing/ReservationTestData.java index 8e9d860..f614041 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/ReservationTestData.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/ReservationTestData.java @@ -1,10 +1,9 @@ -package io.wkrzywiec.hexagonal.library; +package io.wkrzywiec.hexagonal.library.borrowing; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.Book; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; import java.util.ArrayList; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapterITCase.java b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapterITCase.java similarity index 89% rename from src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapterITCase.java rename to src/test/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapterITCase.java index e0fc6ca..a6ce371 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/BorrowingDatabaseAdapterITCase.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/borrowing/infrastructure/BorrowingDatabaseAdapterITCase.java @@ -1,11 +1,10 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.adapter; +package io.wkrzywiec.hexagonal.library.borrowing.infrastructure; import io.wkrzywiec.hexagonal.library.TestData; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId; -import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser; +import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails; +import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -13,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest; import org.springframework.jdbc.core.JdbcTemplate; -import java.util.Map; import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/GetBookDetailsFake.java b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/GetBookDetailsFake.java similarity index 72% rename from src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/GetBookDetailsFake.java rename to src/test/java/io/wkrzywiec/hexagonal/library/inventory/GetBookDetailsFake.java index e156561..2b951ea 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/GetBookDetailsFake.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/GetBookDetailsFake.java @@ -1,8 +1,8 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory; +package io.wkrzywiec.hexagonal.library.inventory; import io.wkrzywiec.hexagonal.library.TestData; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails; import java.util.HashMap; import java.util.Map; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InMemoryInventoryDatabase.java b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/InMemoryInventoryDatabase.java similarity index 61% rename from src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InMemoryInventoryDatabase.java rename to src/test/java/io/wkrzywiec/hexagonal/library/inventory/InMemoryInventoryDatabase.java index 9ef795e..41caebb 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InMemoryInventoryDatabase.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/InMemoryInventoryDatabase.java @@ -1,7 +1,7 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory; +package io.wkrzywiec.hexagonal.library.inventory; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase; import java.util.concurrent.ConcurrentHashMap; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacadeTest.java b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacadeTest.java similarity index 79% rename from src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacadeTest.java rename to src/test/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacadeTest.java index 1bf9931..c259027 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/domain/inventory/InventoryFacadeTest.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/InventoryFacadeTest.java @@ -1,9 +1,9 @@ -package io.wkrzywiec.hexagonal.library.domain.inventory; +package io.wkrzywiec.hexagonal.library.inventory; import io.wkrzywiec.hexagonal.library.TestData; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand; -import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand; +import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapterITCase.java b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapterITCase.java similarity index 92% rename from src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapterITCase.java rename to src/test/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapterITCase.java index 215d6d9..b880aa0 100644 --- a/src/test/java/io/wkrzywiec/hexagonal/library/infrastructure/adapter/GoogleBooksAdapterITCase.java +++ b/src/test/java/io/wkrzywiec/hexagonal/library/inventory/infrastructure/GoogleBooksAdapterITCase.java @@ -1,7 +1,7 @@ -package io.wkrzywiec.hexagonal.library.infrastructure.adapter; +package io.wkrzywiec.hexagonal.library.inventory.infrastructure; import io.wkrzywiec.hexagonal.library.TestData; -import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO; +import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test;