Compare commits
8 Commits
sonar-set-
...
add-new-bo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
33ba479942 | ||
|
|
c96c79a2d0 | ||
|
|
31db7bf37a | ||
|
|
94425cda44 | ||
|
|
4ef128c2f9 | ||
|
|
62a5be6d57 | ||
|
|
53114aedf2 | ||
|
|
e1f9f7acbc |
11
README.md
Normal file
11
README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Library
|
||||
> written in *Hexagonal (Ports & Adapters) Architecture*
|
||||
|
||||
 [](https://sonarcloud.io/dashboard?id=wkrzywiec_library-hexagonal) [](https://sonarcloud.io/dashboard?id=wkrzywiec_library-hexagonal) [](https://opensource.org/licenses/MIT)
|
||||
|
||||
This is a small application that provides basic REST endpoints for managing library (add new book, reserve, borrow it, etc.).
|
||||
|
||||
## Installing / Getting started
|
||||
|
||||
Description in future
|
||||
|
||||
5
pom.xml
5
pom.xml
@@ -19,7 +19,10 @@
|
||||
<java.version>11</java.version>
|
||||
<spring-cloud.version>Hoxton.M3</spring-cloud.version>
|
||||
<surefire.and.failsafe.report.dir>target/test-report</surefire.and.failsafe.report.dir>
|
||||
<code.coverage.exclusions></code.coverage.exclusions>
|
||||
<code.coverage.exclusions>
|
||||
**/io/wkrzywiec/hexagonal/library/domain/book/dto/**,
|
||||
**/io/wkrzywiec/hexagonal/library/infrastructure/repository/*Entity.java
|
||||
</code.coverage.exclusions>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -3,8 +3,8 @@ package io.wkrzywiec.hexagonal.library.application;
|
||||
import io.restassured.RestAssured;
|
||||
import io.restassured.response.ValidatableResponse;
|
||||
import io.wkrzywiec.hexagonal.library.TestData;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.application;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.AddNewBook;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book;
|
||||
|
||||
import lombok.Builder;
|
||||
|
||||
@Builder
|
||||
class Book {
|
||||
|
||||
long id;
|
||||
String title;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.AddNewBook;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.GetBookDetails;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.outgoing.BookDatabase;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.model;
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.dto;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.model;
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.ports.incoming;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.ExternalBookIdDTO;
|
||||
|
||||
public interface AddNewBook {
|
||||
void handle(ExternalBookIdDTO externalBookIdDTO);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.ports.incoming;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
|
||||
public interface GetBookDetails {
|
||||
BookDetailsDTO handle(String bookId);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain.book.ports.outgoing;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
|
||||
public interface BookDatabase {
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.outgoing.BookDatabase;
|
||||
import io.wkrzywiec.hexagonal.library.infrastructure.repository.AuthorEntiy;
|
||||
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity;
|
||||
|
||||
@@ -3,13 +3,12 @@ package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.GetBookDetails;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package io.wkrzywiec.hexagonal.library.domain;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.TestData;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.BookFacade;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.GetBookDetails;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.TestData;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.incoming.GetBookDetails;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package io.wkrzywiec.hexagonal.library.domain;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.ExternalBookIdDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.ports.outgoing.BookDatabase;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
|
||||
|
||||
import io.wkrzywiec.hexagonal.library.TestData;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.model.BookDetailsDTO;
|
||||
import io.wkrzywiec.hexagonal.library.domain.book.dto.BookDetailsDTO;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
Reference in New Issue
Block a user