diff --git a/adapter/persistence/pom.xml b/adapter/persistence/pom.xml
index 429e5f2..cf0029d 100644
--- a/adapter/persistence/pom.xml
+++ b/adapter/persistence/pom.xml
@@ -11,7 +11,7 @@
de.strasser.peter.hexagonal
- persistenceadapter
+ persistence
0.0.1-SNAPSHOT
jar
diff --git a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/config/MongoConfig.java b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/config/MongoConfig.java
index c850f8f..7cd4d58 100644
--- a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/config/MongoConfig.java
+++ b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/config/MongoConfig.java
@@ -1,10 +1,15 @@
package de.strasser.peter.hexagonal.persistence.config;
-import de.strasser.peter.hexagonal.persistence.repository.CustomerRepository;
+import com.mongodb.client.MongoClient;
+import com.mongodb.client.MongoClients;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
@Configuration
-@EnableMongoRepositories(basePackageClasses = CustomerRepository.class)
public class MongoConfig {
+
+ @Bean
+ public MongoClient mongoClient() {
+ return MongoClients.create("mongodb://admin:changeme@localhost:27017");
+ }
}
diff --git a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/model/CustomerEntity.java b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/model/CustomerEntity.java
index ad0b9dd..27f1ef8 100644
--- a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/model/CustomerEntity.java
+++ b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/model/CustomerEntity.java
@@ -1,11 +1,15 @@
package de.strasser.peter.hexagonal.persistence.model;
+import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import java.time.LocalDate;
@Data
+@AllArgsConstructor
+@NoArgsConstructor
public class CustomerEntity {
@Id
private Integer id;
@@ -28,4 +32,5 @@ public class CustomerEntity {
private int billingHouseNumber;
private int billingZipCode;
private String billingCountry;
+
}
diff --git a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/repository/CustomerRepository.java b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/repository/CustomerRepository.java
index f842566..22d234f 100644
--- a/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/repository/CustomerRepository.java
+++ b/adapter/persistence/src/main/java/de/strasser/peter/hexagonal/persistence/repository/CustomerRepository.java
@@ -2,6 +2,8 @@ package de.strasser.peter.hexagonal.persistence.repository;
import de.strasser.peter.hexagonal.persistence.model.CustomerEntity;
import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.stereotype.Repository;
+@Repository
public interface CustomerRepository extends MongoRepository {
}
diff --git a/adapter/persistence/src/main/resources/application.properties b/adapter/persistence/src/main/resources/application.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/adapter/web/pom.xml b/adapter/web/pom.xml
index 7db0184..caf6476 100644
--- a/adapter/web/pom.xml
+++ b/adapter/web/pom.xml
@@ -10,9 +10,9 @@
de.strasser.peter.hexagonal
- webadapter
+ web
0.0.1-SNAPSHOT
- webadapter
+ web
Web adapter
14
diff --git a/adapter/web/src/main/java/de/strasser/peter/hexagonal/webadapter/config/WebConfig.java b/adapter/web/src/main/java/de/strasser/peter/hexagonal/webadapter/config/WebConfig.java
new file mode 100644
index 0000000..276c3f5
--- /dev/null
+++ b/adapter/web/src/main/java/de/strasser/peter/hexagonal/webadapter/config/WebConfig.java
@@ -0,0 +1,8 @@
+package de.strasser.peter.hexagonal.webadapter.config;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class WebConfig {
+
+}
diff --git a/application/pom.xml b/application/pom.xml
index ab188cf..f4b5933 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -28,11 +28,6 @@
org.springframework.boot
spring-boot-starter-validation
-
- org.springframework.boot
- spring-boot-starter-security
-
-
org.springframework.boot
spring-boot-starter-test
diff --git a/application/src/main/java/de/strasser/peter/hexagonal/application/customer/service/RegisterCustomerService.java b/application/src/main/java/de/strasser/peter/hexagonal/application/customer/service/RegisterCustomerService.java
index 822ca4f..720c3ed 100644
--- a/application/src/main/java/de/strasser/peter/hexagonal/application/customer/service/RegisterCustomerService.java
+++ b/application/src/main/java/de/strasser/peter/hexagonal/application/customer/service/RegisterCustomerService.java
@@ -6,7 +6,6 @@ import de.strasser.peter.hexagonal.application.customer.port.in.commands.Registe
import de.strasser.peter.hexagonal.application.customer.port.out.SaveCustomerAdapter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -18,13 +17,16 @@ import javax.validation.Valid;
@RequiredArgsConstructor
class RegisterCustomerService implements RegisterCustomerUseCase {
private final SaveCustomerAdapter saveUser;
- private final PasswordEncoder pwEncoder;
@Override
public void register(@Valid RegisterCustomerCommand registerCmd) {
- var encryptedPw = pwEncoder.encode(registerCmd.getClearPassword());
+ var encryptedPw = this.secureHashingAlgorithm(registerCmd.getClearPassword());
var newCustomer = Customer.newCustomer(registerCmd.getName(), encryptedPw, registerCmd.getBirthDay());
saveUser.upsert(newCustomer);
}
+
+ private String secureHashingAlgorithm(String s) {
+ return new StringBuilder(s).reverse().toString();
+ }
}
diff --git a/application/src/test/java/de/strasser/peter/hexagonal/application/TestConfiguration.java b/application/src/test/java/de/strasser/peter/hexagonal/application/TestConfiguration.java
index 5fd9e0d..3633615 100644
--- a/application/src/test/java/de/strasser/peter/hexagonal/application/TestConfiguration.java
+++ b/application/src/test/java/de/strasser/peter/hexagonal/application/TestConfiguration.java
@@ -1,25 +1,12 @@
package de.strasser.peter.hexagonal.application;
-import de.strasser.peter.hexagonal.application.customer.mapper.AddAddressMapper;
-import de.strasser.peter.hexagonal.application.customer.port.out.AddressValidatorAdapter;
-import de.strasser.peter.hexagonal.application.customer.port.out.LoadCustomerAdapter;
-import de.strasser.peter.hexagonal.application.customer.port.out.SaveCustomerAdapter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
@Slf4j
@SpringBootApplication
public class TestConfiguration {
- @Bean
- public PasswordEncoder pwEncoder() {
- return new BCryptPasswordEncoder();
- }
-
}
diff --git a/config/pom.xml b/config/pom.xml
index 309eb9d..a39f19e 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -22,14 +22,6 @@
org.springframework.boot
spring-boot-starter
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-data-mongodb
-
org.springframework.boot
@@ -49,12 +41,12 @@
de.strasser.peter.hexagonal
- webadapter
+ web
${project.version}
de.strasser.peter.hexagonal
- persistenceadapter
+ persistence
${project.version}
diff --git a/config/src/main/java/de/strasser/peter/hexagonal/config/HexagonalApplication.java b/config/src/main/java/de/strasser/peter/hexagonal/HexagonalApplication.java
similarity index 66%
rename from config/src/main/java/de/strasser/peter/hexagonal/config/HexagonalApplication.java
rename to config/src/main/java/de/strasser/peter/hexagonal/HexagonalApplication.java
index 140eabb..a51fe41 100644
--- a/config/src/main/java/de/strasser/peter/hexagonal/config/HexagonalApplication.java
+++ b/config/src/main/java/de/strasser/peter/hexagonal/HexagonalApplication.java
@@ -1,11 +1,9 @@
-package de.strasser.peter.hexagonal.config;
+package de.strasser.peter.hexagonal;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
-@ComponentScan("de.strasser.peter.hexagonal")
public class HexagonalApplication {
public static void main(String[] args) {
diff --git a/config/src/main/java/de/strasser/peter/hexagonal/config/SecurityConfig.java b/config/src/main/java/de/strasser/peter/hexagonal/config/SecurityConfig.java
deleted file mode 100644
index 94b97e3..0000000
--- a/config/src/main/java/de/strasser/peter/hexagonal/config/SecurityConfig.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.strasser.peter.hexagonal.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-@Configuration
-public class SecurityConfig {
- @Bean
- public PasswordEncoder encoder() {
- return new BCryptPasswordEncoder();
- }
-}
diff --git a/config/src/main/resources/application.properties b/config/src/main/resources/application.properties
index dba47cf..daa0eee 100644
--- a/config/src/main/resources/application.properties
+++ b/config/src/main/resources/application.properties
@@ -1,6 +1 @@
-spring.data.mongodb.host=localhost
-spring.data.mongodb.port=27021
-spring.data.mongodb.database=test
-spring.data.mongodb.authentication-database=admin
-spring.data.mongodb.username=test
-spring.data.mongodb.password=test
+spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
diff --git a/config/src/test/java/resources/application.properties b/config/src/test/java/resources/application.properties
new file mode 100644
index 0000000..daa0eee
--- /dev/null
+++ b/config/src/test/java/resources/application.properties
@@ -0,0 +1 @@
+spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
diff --git a/mongodb-docker-compose.yml b/mongodb-docker-compose.yml
index 2b5ff1e..ff67566 100644
--- a/mongodb-docker-compose.yml
+++ b/mongodb-docker-compose.yml
@@ -1,14 +1,15 @@
version: '3.1'
services:
-
mongo:
image: mongo
restart: always
+ ports:
+ - 27017:27017
environment:
- MONGO_INITDB_ROOT_USERNAME: test
- MONGO_INITDB_ROOT_PASSWORD: test
- MONGO_INITDB_DATABASE: test
+ MONGO_INITDB_ROOT_USERNAME: admin
+ MONGO_INITDB_ROOT_PASSWORD: changeme
+ MONGO_INITDB_DATABASE: customer
mongo-express:
image: mongo-express
@@ -16,5 +17,5 @@ services:
ports:
- 8081:8081
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME: test
- ME_CONFIG_MONGODB_ADMINPASSWORD: test
+ ME_CONFIG_MONGODB_ADMINUSERNAME: admin
+ ME_CONFIG_MONGODB_ADMINPASSWORD: changeme