Change events.occurred_at from TIMESTAMPTZ to DATE
Make date required, remove default. Simplifies date handling throughout the controller. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE deposits ALTER COLUMN occurred_at TYPE TIMESTAMPTZ USING occurred_at::timestamptz;
|
||||
--;;
|
||||
ALTER TABLE events ALTER COLUMN occurred_at SET DEFAULT NOW();
|
||||
--;;
|
||||
ALTER TABLE events ALTER COLUMN occurred_at TYPE TIMESTAMPTZ USING occurred_at::timestamptz;
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE events ALTER COLUMN occurred_at TYPE DATE USING occurred_at::date;
|
||||
--;;
|
||||
ALTER TABLE events ALTER COLUMN occurred_at DROP DEFAULT;
|
||||
--;;
|
||||
ALTER TABLE deposits ALTER COLUMN occurred_at TYPE DATE USING occurred_at::date;
|
||||
@@ -5,7 +5,7 @@
|
||||
[pmagnus.btcdata.frankfurter.rates :as rates]
|
||||
[ring.util.http-response :as response])
|
||||
(:import
|
||||
[java.time Instant LocalDate ZoneOffset]
|
||||
[java.time LocalDate]
|
||||
[java.util UUID]))
|
||||
|
||||
(defn list-wallets [{:keys [query-fn]} req]
|
||||
@@ -51,11 +51,10 @@
|
||||
(try
|
||||
(let [wallet (query-fn :get-wallet-by-id {:id to-wallet-id})
|
||||
exchange (or (:name wallet) "Unknown")
|
||||
date (.toLocalDate (.atOffset occurred-at ZoneOffset/UTC))
|
||||
rates (or (query-fn :get-currency-rates-by-date {:rate-date date})
|
||||
rates (or (query-fn :get-currency-rates-by-date {:rate-date occurred-at})
|
||||
(rates/fetch-and-persist-for-date!
|
||||
(:client frankfurter) (:url frankfurter)
|
||||
query-fn date))
|
||||
query-fn occurred-at))
|
||||
amounts (if rates
|
||||
(convert-amount fiat-amount fiat-currency rates)
|
||||
{:amount-eur nil :amount-dkk nil :amount-usd nil})]
|
||||
@@ -75,9 +74,9 @@
|
||||
event-type (:event_type params)]
|
||||
(if-not (#{"bank_to_exchange" "exchange_to_wallet" "wallet_to_wallet"} event-type)
|
||||
(response/bad-request {:error "Invalid event_type"})
|
||||
(let [occurred-at (if-let [ts (:occurred_at params)]
|
||||
(Instant/parse ts)
|
||||
(Instant/now))
|
||||
(let [occurred-at (if-let [d (:occurred_at params)]
|
||||
(LocalDate/parse d)
|
||||
(LocalDate/now))
|
||||
row {:event-type event-type
|
||||
:occurred-at occurred-at
|
||||
:sats (:sats params)
|
||||
|
||||
Reference in New Issue
Block a user