summaryrefslogtreecommitdiffstats
path: root/api/src/main/java/market
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/main/java/market')
-rw-r--r--api/src/main/java/market/guess/InputProvider.java5
-rw-r--r--api/src/main/java/market/guess/InputProviderFactory.java5
-rw-r--r--api/src/main/java/market/guess/OutputProvider.java7
-rw-r--r--api/src/main/java/market/guess/OutputProviderFactory.java5
-rw-r--r--api/src/main/java/market/guess/api/AccountDTO.java6
-rw-r--r--api/src/main/java/market/guess/api/GuessMarketContext.java3
-rw-r--r--api/src/main/java/market/guess/api/GuessMarketEngine.java7
-rw-r--r--api/src/main/java/market/guess/api/LedgerEntryDTO.java4
-rw-r--r--api/src/main/java/market/guess/api/LedgerType.java10
-rw-r--r--api/src/main/java/market/guess/api/LoadResultDTO.java14
-rw-r--r--api/src/main/java/market/guess/api/ProblemDTO.java3
11 files changed, 37 insertions, 32 deletions
diff --git a/api/src/main/java/market/guess/InputProvider.java b/api/src/main/java/market/guess/InputProvider.java
deleted file mode 100644
index be7372b..0000000
--- a/api/src/main/java/market/guess/InputProvider.java
+++ /dev/null
@@ -1,5 +0,0 @@
1package market.guess;
2
3public interface InputProvider extends AutoCloseable {
4 int nextInt();
5}
diff --git a/api/src/main/java/market/guess/InputProviderFactory.java b/api/src/main/java/market/guess/InputProviderFactory.java
deleted file mode 100644
index 6801103..0000000
--- a/api/src/main/java/market/guess/InputProviderFactory.java
+++ /dev/null
@@ -1,5 +0,0 @@
1package market.guess;
2
3public interface InputProviderFactory {
4 InputProvider create();
5}
diff --git a/api/src/main/java/market/guess/OutputProvider.java b/api/src/main/java/market/guess/OutputProvider.java
deleted file mode 100644
index 774408e..0000000
--- a/api/src/main/java/market/guess/OutputProvider.java
+++ /dev/null
@@ -1,7 +0,0 @@
1package market.guess;
2
3public interface OutputProvider {
4 void print(Object object);
5
6 void println(Object object);
7}
diff --git a/api/src/main/java/market/guess/OutputProviderFactory.java b/api/src/main/java/market/guess/OutputProviderFactory.java
deleted file mode 100644
index b4eb7f5..0000000
--- a/api/src/main/java/market/guess/OutputProviderFactory.java
+++ /dev/null
@@ -1,5 +0,0 @@
1package market.guess;
2
3public interface OutputProviderFactory {
4 OutputProvider create();
5}
diff --git a/api/src/main/java/market/guess/api/AccountDTO.java b/api/src/main/java/market/guess/api/AccountDTO.java
new file mode 100644
index 0000000..8e7123e
--- /dev/null
+++ b/api/src/main/java/market/guess/api/AccountDTO.java
@@ -0,0 +1,6 @@
1package market.guess.api;
2
3import java.util.List;
4
5public record AccountDTO(
6 String owner, String balance, boolean blocked, List<LedgerEntryDTO> entries) {}
diff --git a/api/src/main/java/market/guess/api/GuessMarketContext.java b/api/src/main/java/market/guess/api/GuessMarketContext.java
index 12ffbeb..2d7af4c 100644
--- a/api/src/main/java/market/guess/api/GuessMarketContext.java
+++ b/api/src/main/java/market/guess/api/GuessMarketContext.java
@@ -1,10 +1,9 @@
1package market.guess.api; 1package market.guess.api;
2 2
3import java.util.List; 3import java.util.List;
4import java.util.concurrent.CompletableFuture;
5 4
6public interface GuessMarketContext { 5public interface GuessMarketContext {
7 CompletableFuture<LoadResultDTO> LoadAsync(); 6 LoadResultDTO LoadAsync();
8 7
9 void SaveChangesAsync(); 8 void SaveChangesAsync();
10 9
diff --git a/api/src/main/java/market/guess/api/GuessMarketEngine.java b/api/src/main/java/market/guess/api/GuessMarketEngine.java
deleted file mode 100644
index b6d44a4..0000000
--- a/api/src/main/java/market/guess/api/GuessMarketEngine.java
+++ /dev/null
@@ -1,7 +0,0 @@
1package market.guess.api;
2
3import java.util.concurrent.CompletableFuture;
4
5public interface GuessMarketEngine {
6 CompletableFuture<LoadResultDTO> loadEvents();
7}
diff --git a/api/src/main/java/market/guess/api/LedgerEntryDTO.java b/api/src/main/java/market/guess/api/LedgerEntryDTO.java
new file mode 100644
index 0000000..b8f994c
--- /dev/null
+++ b/api/src/main/java/market/guess/api/LedgerEntryDTO.java
@@ -0,0 +1,4 @@
1package market.guess.api;
2
3public record LedgerEntryDTO(
4 long seq, String at, LedgerType type, String amount, String balanceAfter, String note) {}
diff --git a/api/src/main/java/market/guess/api/LedgerType.java b/api/src/main/java/market/guess/api/LedgerType.java
new file mode 100644
index 0000000..3402b84
--- /dev/null
+++ b/api/src/main/java/market/guess/api/LedgerType.java
@@ -0,0 +1,10 @@
1package market.guess.api;
2
3public enum LedgerType {
4 SUBSIDY,
5 PURCHASE,
6 COMMISSION,
7 PAYOUT,
8 REFUND,
9 DEPOSIT
10}
diff --git a/api/src/main/java/market/guess/api/LoadResultDTO.java b/api/src/main/java/market/guess/api/LoadResultDTO.java
index cf3630b..8cae3c0 100644
--- a/api/src/main/java/market/guess/api/LoadResultDTO.java
+++ b/api/src/main/java/market/guess/api/LoadResultDTO.java
@@ -1,3 +1,15 @@
1package market.guess.api; 1package market.guess.api;
2 2
3public record LoadResultDTO() {} 3import java.util.List;
4
5public record LoadResultDTO(
6 boolean success, String source, int eventsLoaded, List<ProblemDTO> issues) {
7
8 public static LoadResultDTO success(String sourceLabel, int eventsLoaded) {
9 return new LoadResultDTO(true, sourceLabel, eventsLoaded, List.of());
10 }
11
12 public static LoadResultDTO failure(String sourceLabel, List<ProblemDTO> problems) {
13 return new LoadResultDTO(false, sourceLabel, 0, List.copyOf(problems));
14 }
15}
diff --git a/api/src/main/java/market/guess/api/ProblemDTO.java b/api/src/main/java/market/guess/api/ProblemDTO.java
new file mode 100644
index 0000000..682372b
--- /dev/null
+++ b/api/src/main/java/market/guess/api/ProblemDTO.java
@@ -0,0 +1,3 @@
1package market.guess.api;
2
3public record ProblemDTO(String code, String humanizedMessage, String location) {}