aboutsummaryrefslogtreecommitdiffstats
path: root/api/src/main/java/market/guess/model
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-16 18:50:15 +0000
committerKostya <mail@sartin.in>2026-08-16 18:50:15 +0000
commiteed9265be711432f40247f149c07f9e33511192a (patch)
tree19bef593ffeacc02c606c73291df637463be1a26 /api/src/main/java/market/guess/model
parent07a7a1cb3e4cfc1580bc05b0a6010a1e9f7e7508 (diff)
downloadguess-market-eed9265be711432f40247f149c07f9e33511192a.tar.gz
guess-market-eed9265be711432f40247f149c07f9e33511192a.tar.xz
guess-market-eed9265be711432f40247f149c07f9e33511192a.zip
Split DTOs into api/model, extract order matching into service/matching
Moves Event/Ledger DTOs out of the flat api package into api/model/{event,ledger}, and moves LocalCatalogContext and order matching logic into dedicated service/catalog and service/matching packages, replacing TradingOperation/TradingOperationImpl.
Diffstat (limited to 'api/src/main/java/market/guess/model')
-rw-r--r--api/src/main/java/market/guess/model/event/EventDetailDTO.java11
-rw-r--r--api/src/main/java/market/guess/model/event/EventStatus.java7
-rw-r--r--api/src/main/java/market/guess/model/event/EventSummaryDTO.java17
-rw-r--r--api/src/main/java/market/guess/model/ledger/LedgerEntryDTO.java4
-rw-r--r--api/src/main/java/market/guess/model/ledger/LedgerType.java10
5 files changed, 49 insertions, 0 deletions
diff --git a/api/src/main/java/market/guess/model/event/EventDetailDTO.java b/api/src/main/java/market/guess/model/event/EventDetailDTO.java
new file mode 100644
index 0000000..e45458b
--- /dev/null
+++ b/api/src/main/java/market/guess/model/event/EventDetailDTO.java
@@ -0,0 +1,11 @@
1package market.guess.model.event;
2
3import java.util.List;
4import market.guess.api.MarketStateDTO;
5import market.guess.api.TradeRowDTO;
6
7public record EventDetailDTO(
8 EventSummaryDTO summary,
9 MarketStateDTO state,
10 List<TradeRowDTO> history,
11 String winningOption) {}
diff --git a/api/src/main/java/market/guess/model/event/EventStatus.java b/api/src/main/java/market/guess/model/event/EventStatus.java
new file mode 100644
index 0000000..c6460f9
--- /dev/null
+++ b/api/src/main/java/market/guess/model/event/EventStatus.java
@@ -0,0 +1,7 @@
1package market.guess.model.event;
2
3public enum EventStatus {
4 DRAFT,
5 ACTIVE,
6 SETTLED
7}
diff --git a/api/src/main/java/market/guess/model/event/EventSummaryDTO.java b/api/src/main/java/market/guess/model/event/EventSummaryDTO.java
new file mode 100644
index 0000000..1595f81
--- /dev/null
+++ b/api/src/main/java/market/guess/model/event/EventSummaryDTO.java
@@ -0,0 +1,17 @@
1package market.guess.model.event;
2
3import java.util.List;
4import market.guess.api.CommissionTiming;
5import market.guess.api.MechanismType;
6
7public record EventSummaryDTO(
8 String key,
9 int displayId,
10 String name,
11 String description,
12 int commissionPercent,
13 CommissionTiming commissionTiming,
14 MechanismType mechanism,
15 EventStatus status,
16 List<String> optionNames,
17 String accountBalance) {}
diff --git a/api/src/main/java/market/guess/model/ledger/LedgerEntryDTO.java b/api/src/main/java/market/guess/model/ledger/LedgerEntryDTO.java
new file mode 100644
index 0000000..733ad03
--- /dev/null
+++ b/api/src/main/java/market/guess/model/ledger/LedgerEntryDTO.java
@@ -0,0 +1,4 @@
1package market.guess.model.ledger;
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/model/ledger/LedgerType.java b/api/src/main/java/market/guess/model/ledger/LedgerType.java
new file mode 100644
index 0000000..b1fe15b
--- /dev/null
+++ b/api/src/main/java/market/guess/model/ledger/LedgerType.java
@@ -0,0 +1,10 @@
1package market.guess.model.ledger;
2
3public enum LedgerType {
4 SUBSIDY,
5 PURCHASE,
6 COMMISSION,
7 PAYOUT,
8 REFUND,
9 DEPOSIT
10}