diff options
Diffstat (limited to 'api/src/main/java/market/guess')
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 @@ | |||
| 1 | package market.guess; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | import java.util.List; | ||
| 4 | |||
| 5 | public 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 @@ | |||
| 1 | package market.guess.api; | 1 | package market.guess.api; |
| 2 | 2 | ||
| 3 | import java.util.List; | 3 | import java.util.List; |
| 4 | import java.util.concurrent.CompletableFuture; | ||
| 5 | 4 | ||
| 6 | public interface GuessMarketContext { | 5 | public 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 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | import java.util.concurrent.CompletableFuture; | ||
| 4 | |||
| 5 | public 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 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package market.guess.api; | 1 | package market.guess.api; |
| 2 | 2 | ||
| 3 | public record LoadResultDTO() {} | 3 | import java.util.List; |
| 4 | |||
| 5 | public 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 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | public record ProblemDTO(String code, String humanizedMessage, String location) {} | ||