diff options
Diffstat (limited to 'api')
5 files changed, 48 insertions, 6 deletions
diff --git a/api/src/main/java/market/guess/api/EventDetailDTO.java b/api/src/main/java/market/guess/api/EventDetailDTO.java new file mode 100644 index 0000000..893f153 --- /dev/null +++ b/api/src/main/java/market/guess/api/EventDetailDTO.java | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | import java.util.List; | ||
| 4 | |||
| 5 | public record EventDetailDTO( | ||
| 6 | EventSummaryDTO summary, | ||
| 7 | MarketStateDTO state, | ||
| 8 | List<TradeRowDTO> history, | ||
| 9 | String winningOption) {} | ||
diff --git a/api/src/main/java/market/guess/api/GuessMarketContext.java b/api/src/main/java/market/guess/api/GuessMarketContext.java index d3954cd..f010e1c 100644 --- a/api/src/main/java/market/guess/api/GuessMarketContext.java +++ b/api/src/main/java/market/guess/api/GuessMarketContext.java | |||
| @@ -1,17 +1,27 @@ | |||
| 1 | package market.guess.api; | 1 | package market.guess.api; |
| 2 | 2 | ||
| 3 | import java.nio.file.Path; | ||
| 3 | import java.util.List; | 4 | import java.util.List; |
| 5 | import market.guess.exception.GuessMarketException; | ||
| 4 | 6 | ||
| 5 | public interface GuessMarketContext { | 7 | public interface GuessMarketContext { |
| 6 | LoadResultDTO LoadAsync(); | 8 | LoadResultDTO loadEvents(Path path); |
| 7 | 9 | ||
| 8 | void SaveChangesAsync(); | 10 | List<EventSummaryDTO> listEvents(); |
| 9 | 11 | ||
| 10 | List<EventSummaryDTO> GetAllEventsAsync(); | 12 | boolean isLoaded(); |
| 11 | 13 | ||
| 12 | void GetEventInfoByIdAsync(); | 14 | EventDetailDTO getEvent(String eventKey); |
| 13 | 15 | ||
| 14 | void CreateEventAsync(); | 16 | PurchaseReceiptDTO buyShares(String userName, String eventKey, String optionKey, long quantity) |
| 17 | throws GuessMarketException; | ||
| 15 | 18 | ||
| 16 | void UpdateEventAsync(); | 19 | EventDetailDTO closeEvent(String userName, String eventKey, String winningOptionKey) |
| 20 | throws GuessMarketException; | ||
| 21 | |||
| 22 | AccountDTO account(String userName); | ||
| 23 | |||
| 24 | void saveState(Path path) throws GuessMarketException; | ||
| 25 | |||
| 26 | LoadResultDTO restoreState(Path path); | ||
| 17 | } | 27 | } |
diff --git a/api/src/main/java/market/guess/api/MarketStateDTO.java b/api/src/main/java/market/guess/api/MarketStateDTO.java new file mode 100644 index 0000000..f49b2aa --- /dev/null +++ b/api/src/main/java/market/guess/api/MarketStateDTO.java | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | import java.util.List; | ||
| 4 | |||
| 5 | public record MarketStateDTO( | ||
| 6 | String eventKey, | ||
| 7 | MechanismType mechanism, | ||
| 8 | List<OptionStateDTO> options, | ||
| 9 | String accountBalance, | ||
| 10 | String commissionCollected) {} | ||
diff --git a/api/src/main/java/market/guess/api/OptionStateDTO.java b/api/src/main/java/market/guess/api/OptionStateDTO.java new file mode 100644 index 0000000..c002fdd --- /dev/null +++ b/api/src/main/java/market/guess/api/OptionStateDTO.java | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | public record OptionStateDTO(String optionKey, String name, String price, long sharesOutstanding) {} | ||
diff --git a/api/src/main/java/market/guess/api/PurchaseReceiptDTO.java b/api/src/main/java/market/guess/api/PurchaseReceiptDTO.java new file mode 100644 index 0000000..bd5b2f7 --- /dev/null +++ b/api/src/main/java/market/guess/api/PurchaseReceiptDTO.java | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | package market.guess.api; | ||
| 2 | |||
| 3 | public record PurchaseReceiptDTO( | ||
| 4 | String eventKey, | ||
| 5 | String optionName, | ||
| 6 | long quantity, | ||
| 7 | String sharesCost, | ||
| 8 | String commission, | ||
| 9 | String totalPaid, | ||
| 10 | MarketStateDTO stateAfter) {} | ||