summaryrefslogtreecommitdiffstats
path: root/service/src/main/java
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-14 07:54:12 +0000
committerKostya <mail@sartin.in>2026-08-14 07:54:12 +0000
commit65ef330ad8182c95cc26260548e687d1d71c5ca2 (patch)
treefc2a85a1b5e9e1208a484767aa7dbe67b28e32f4 /service/src/main/java
parentffd09319b04f7360cd95784272eadad60c2c5a79 (diff)
downloadguess-market-65ef330ad8182c95cc26260548e687d1d71c5ca2.tar.gz
guess-market-65ef330ad8182c95cc26260548e687d1d71c5ca2.tar.xz
guess-market-65ef330ad8182c95cc26260548e687d1d71c5ca2.zip
Wire EventRepository into LocalGuessMarketContext, add mapper/provider infra and tests
Removes the placeholder Mapper interface in favor of concrete mapper/provider implementations, fixes Menu.stop() to no-op instead of throwing.
Diffstat (limited to 'service/src/main/java')
-rw-r--r--service/src/main/java/market/guess/service/LocalGuessMarketContext.java7
-rw-r--r--service/src/main/java/market/guess/service/infrastructure/Mapper.java3
-rw-r--r--service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java13
-rw-r--r--service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java5
-rw-r--r--service/src/main/java/market/guess/service/infrastructure/provider/Loader.java8
-rw-r--r--service/src/main/java/market/guess/service/repository/EventRepository.java3
6 files changed, 36 insertions, 3 deletions
diff --git a/service/src/main/java/market/guess/service/LocalGuessMarketContext.java b/service/src/main/java/market/guess/service/LocalGuessMarketContext.java
index cabb6ac..a01d6d7 100644
--- a/service/src/main/java/market/guess/service/LocalGuessMarketContext.java
+++ b/service/src/main/java/market/guess/service/LocalGuessMarketContext.java
@@ -9,8 +9,15 @@ import market.guess.api.GuessMarketContext;
9import market.guess.api.LoadResultDTO; 9import market.guess.api.LoadResultDTO;
10import market.guess.api.PurchaseReceiptDTO; 10import market.guess.api.PurchaseReceiptDTO;
11import market.guess.exception.GuessMarketException; 11import market.guess.exception.GuessMarketException;
12import market.guess.service.repository.EventRepository;
12 13
13public final class LocalGuessMarketContext implements GuessMarketContext { 14public final class LocalGuessMarketContext implements GuessMarketContext {
15 private final EventRepository eventRepository;
16
17 public LocalGuessMarketContext(EventRepository eventRepository) {
18 super();
19 this.eventRepository = eventRepository;
20 }
14 21
15 @Override 22 @Override
16 public LoadResultDTO loadEvents(Path path) { 23 public LoadResultDTO loadEvents(Path path) {
diff --git a/service/src/main/java/market/guess/service/infrastructure/Mapper.java b/service/src/main/java/market/guess/service/infrastructure/Mapper.java
deleted file mode 100644
index 07f565b..0000000
--- a/service/src/main/java/market/guess/service/infrastructure/Mapper.java
+++ /dev/null
@@ -1,3 +0,0 @@
1package market.guess.service.infrastructure;
2
3public interface Mapper {}
diff --git a/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java b/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java
new file mode 100644
index 0000000..dadbae6
--- /dev/null
+++ b/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java
@@ -0,0 +1,13 @@
1package market.guess.service.infrastructure.mapper;
2
3import market.guess.service.domain.Event;
4import market.guess.service.model.v1.GMEvent;
5
6public final class EventMapperV1 implements Mapper<Event, GMEvent> {
7
8 @Override
9 public Event toDomain(GMEvent source) {
10 // TODO Auto-generated method stub
11 throw new UnsupportedOperationException("Unimplemented method 'toDomain'");
12 }
13}
diff --git a/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java b/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java
new file mode 100644
index 0000000..44e192b
--- /dev/null
+++ b/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java
@@ -0,0 +1,5 @@
1package market.guess.service.infrastructure.mapper;
2
3public interface Mapper<TDomain, TModel> {
4 TDomain toDomain(TModel source);
5}
diff --git a/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java b/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java
new file mode 100644
index 0000000..7588855
--- /dev/null
+++ b/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java
@@ -0,0 +1,8 @@
1package market.guess.service.infrastructure.provider;
2
3import java.nio.file.Path;
4import market.guess.api.LoadResultDTO;
5
6public interface Loader {
7 LoadResultDTO load(Path path);
8}
diff --git a/service/src/main/java/market/guess/service/repository/EventRepository.java b/service/src/main/java/market/guess/service/repository/EventRepository.java
index 506949f..f532793 100644
--- a/service/src/main/java/market/guess/service/repository/EventRepository.java
+++ b/service/src/main/java/market/guess/service/repository/EventRepository.java
@@ -1,7 +1,10 @@
1package market.guess.service.repository; 1package market.guess.service.repository;
2 2
3import java.util.List;
3import market.guess.service.domain.Event; 4import market.guess.service.domain.Event;
4 5
5public interface EventRepository { 6public interface EventRepository {
6 Event getEvent(String id); 7 Event getEvent(String id);
8
9 List<Event> getAllEvents();
7} 10}