Add deposits rebuild endpoint and fix date serialization
Add POST /api/deposits/rebuild to re-project all bank_to_exchange events. Fix date-off-by-one by converting java.sql.Date to LocalDate via ReadableColumn and serializing with Jackson JavaTimeModule. Sort all event/deposit queries by occurred_at, id. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+17
-4
@@ -102,7 +102,7 @@ SELECT e.id, e.event_type, e.occurred_at, e.recorded_at,
|
||||
FROM events e
|
||||
LEFT JOIN wallets fw ON fw.id = e.from_wallet_id
|
||||
LEFT JOIN wallets tw ON tw.id = e.to_wallet_id
|
||||
ORDER BY e.occurred_at DESC
|
||||
ORDER BY e.occurred_at DESC, e.id DESC
|
||||
|
||||
-- :name get-events-by-type :? :*
|
||||
-- :doc Get events filtered by type
|
||||
@@ -115,7 +115,7 @@ FROM events e
|
||||
LEFT JOIN wallets fw ON fw.id = e.from_wallet_id
|
||||
LEFT JOIN wallets tw ON tw.id = e.to_wallet_id
|
||||
WHERE e.event_type = :event-type
|
||||
ORDER BY e.occurred_at DESC
|
||||
ORDER BY e.occurred_at DESC, e.id DESC
|
||||
|
||||
-- :name get-events-by-wallet :? :*
|
||||
-- :doc Get events involving a specific wallet
|
||||
@@ -128,7 +128,20 @@ FROM events e
|
||||
LEFT JOIN wallets fw ON fw.id = e.from_wallet_id
|
||||
LEFT JOIN wallets tw ON tw.id = e.to_wallet_id
|
||||
WHERE e.from_wallet_id = :wallet-id OR e.to_wallet_id = :wallet-id
|
||||
ORDER BY e.occurred_at DESC
|
||||
ORDER BY e.occurred_at DESC, e.id DESC
|
||||
|
||||
-- :name truncate-deposits! :! :n
|
||||
-- :doc Delete all rows from the deposits read table
|
||||
TRUNCATE deposits
|
||||
|
||||
-- :name get-deposit-events :? :*
|
||||
-- :doc Get bank_to_exchange events with exchange name, oldest first
|
||||
SELECT e.id, e.occurred_at, e.fiat_amount, e.fiat_currency,
|
||||
e.to_wallet_id, tw.name AS exchange, e.note
|
||||
FROM events e
|
||||
LEFT JOIN wallets tw ON tw.id = e.to_wallet_id
|
||||
WHERE e.event_type = 'bank_to_exchange'
|
||||
ORDER BY e.occurred_at ASC, e.id ASC
|
||||
|
||||
-- :name insert-deposit! :! :n
|
||||
-- :doc Insert a projected deposit row
|
||||
@@ -140,7 +153,7 @@ VALUES (:event-id, :occurred-at, :exchange, :fiat-amount, :fiat-currency, :amoun
|
||||
SELECT id, event_id, occurred_at, exchange, fiat_amount, fiat_currency,
|
||||
amount_eur, amount_dkk, amount_usd, note
|
||||
FROM deposits
|
||||
ORDER BY occurred_at DESC
|
||||
ORDER BY occurred_at DESC, id DESC
|
||||
|
||||
-- :name get-wallet-balances :? :*
|
||||
-- :doc Compute sats balance per wallet from events
|
||||
|
||||
Reference in New Issue
Block a user