From 40fa8c52d2afc87c76b2d38566e9920120b2da3c Mon Sep 17 00:00:00 2001 From: Kostya Date: Thu, 13 Aug 2026 15:52:07 +0000 Subject: Replace EventDTO with richer EventSummaryDTO/TradeRowDTO view models Introduce MechanismType and rename CommissionChargeType to CommissionTiming to better describe LMSR vs order-book events. LocalGuessMarketContext.GetAllEventsAsync is stubbed pending the new mapping. --- api/src/main/java/market/guess/api/Commission.java | 3 --- .../java/market/guess/api/CommissionChargeType.java | 6 ------ .../main/java/market/guess/api/CommissionTiming.java | 6 ++++++ api/src/main/java/market/guess/api/EventDTO.java | 9 --------- .../main/java/market/guess/api/EventSummaryDTO.java | 15 +++++++++++++++ .../java/market/guess/api/GuessMarketContext.java | 2 +- api/src/main/java/market/guess/api/MechanismType.java | 6 ++++++ api/src/main/java/market/guess/api/TradeRowDTO.java | 4 ++++ .../engine/provider/LocalGuessMarketContext.java | 19 +++---------------- 9 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 api/src/main/java/market/guess/api/Commission.java delete mode 100644 api/src/main/java/market/guess/api/CommissionChargeType.java create mode 100644 api/src/main/java/market/guess/api/CommissionTiming.java delete mode 100644 api/src/main/java/market/guess/api/EventDTO.java create mode 100644 api/src/main/java/market/guess/api/EventSummaryDTO.java create mode 100644 api/src/main/java/market/guess/api/MechanismType.java create mode 100644 api/src/main/java/market/guess/api/TradeRowDTO.java diff --git a/api/src/main/java/market/guess/api/Commission.java b/api/src/main/java/market/guess/api/Commission.java deleted file mode 100644 index 96cab8a..0000000 --- a/api/src/main/java/market/guess/api/Commission.java +++ /dev/null @@ -1,3 +0,0 @@ -package market.guess.api; - -public record Commission(CommissionChargeType type, int percentage) {} diff --git a/api/src/main/java/market/guess/api/CommissionChargeType.java b/api/src/main/java/market/guess/api/CommissionChargeType.java deleted file mode 100644 index 75e409b..0000000 --- a/api/src/main/java/market/guess/api/CommissionChargeType.java +++ /dev/null @@ -1,6 +0,0 @@ -package market.guess.api; - -public enum CommissionChargeType { - ON_CLOSE, - ON_PURCHASE -} diff --git a/api/src/main/java/market/guess/api/CommissionTiming.java b/api/src/main/java/market/guess/api/CommissionTiming.java new file mode 100644 index 0000000..29861e3 --- /dev/null +++ b/api/src/main/java/market/guess/api/CommissionTiming.java @@ -0,0 +1,6 @@ +package market.guess.api; + +public enum CommissionTiming { + ON_CLOSE, + ON_PURCHASE +} diff --git a/api/src/main/java/market/guess/api/EventDTO.java b/api/src/main/java/market/guess/api/EventDTO.java deleted file mode 100644 index 2b2bc63..0000000 --- a/api/src/main/java/market/guess/api/EventDTO.java +++ /dev/null @@ -1,9 +0,0 @@ -package market.guess.api; - -public record EventDTO( - int id, - String name, - String description, - int commission, - CommissionChargeType commissionChargeType, - EventStatus status) {} diff --git a/api/src/main/java/market/guess/api/EventSummaryDTO.java b/api/src/main/java/market/guess/api/EventSummaryDTO.java new file mode 100644 index 0000000..361656b --- /dev/null +++ b/api/src/main/java/market/guess/api/EventSummaryDTO.java @@ -0,0 +1,15 @@ +package market.guess.api; + +import java.util.List; + +public record EventSummaryDTO( + String eventKey, + int displayId, + String name, + String description, + int commissionPercent, + CommissionTiming commissionTiming, + MechanismType mechanism, + EventStatus status, + List optionNames, + String accountBalance) {} diff --git a/api/src/main/java/market/guess/api/GuessMarketContext.java b/api/src/main/java/market/guess/api/GuessMarketContext.java index 2d7af4c..d3954cd 100644 --- a/api/src/main/java/market/guess/api/GuessMarketContext.java +++ b/api/src/main/java/market/guess/api/GuessMarketContext.java @@ -7,7 +7,7 @@ public interface GuessMarketContext { void SaveChangesAsync(); - List GetAllEventsAsync(); + List GetAllEventsAsync(); void GetEventInfoByIdAsync(); diff --git a/api/src/main/java/market/guess/api/MechanismType.java b/api/src/main/java/market/guess/api/MechanismType.java new file mode 100644 index 0000000..f478041 --- /dev/null +++ b/api/src/main/java/market/guess/api/MechanismType.java @@ -0,0 +1,6 @@ +package market.guess.api; + +public enum MechanismType { + LMSR, + ORDER_BOOK +} diff --git a/api/src/main/java/market/guess/api/TradeRowDTO.java b/api/src/main/java/market/guess/api/TradeRowDTO.java new file mode 100644 index 0000000..7331bb1 --- /dev/null +++ b/api/src/main/java/market/guess/api/TradeRowDTO.java @@ -0,0 +1,4 @@ +package market.guess.api; + +public record TradeRowDTO( + String at, String userName, String optionName, long quantity, String pricePaid) {} diff --git a/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java b/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java index cf0923b..000e2a7 100644 --- a/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java +++ b/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java @@ -4,9 +4,7 @@ import jakarta.xml.bind.JAXBContext; import jakarta.xml.bind.Marshaller; import java.io.File; import java.util.List; -import market.guess.api.CommissionChargeType; -import market.guess.api.EventDTO; -import market.guess.api.EventStatus; +import market.guess.api.EventSummaryDTO; import market.guess.api.GuessMarketContext; import market.guess.api.LoadResultDTO; import market.guess.api.ProblemDTO; @@ -47,19 +45,8 @@ public class LocalGuessMarketContext implements GuessMarketContext { } @Override - public List GetAllEventsAsync() { - var events = context.getGMEvents(); - return events.getGMEvent().stream() - .map( - o -> - new EventDTO( - o.getId(), - String.join(" ", o.getName()), - o.getDescription(), - o.getComision().getValue(), - CommissionChargeType.ON_CLOSE, - EventStatus.ACTIVE)) - .toList(); + public List GetAllEventsAsync() { + throw new UnsupportedOperationException("Unimplemented method 'GetEventInfoByIdAsync'"); } @Override -- cgit v1.2.3