diff --git a/src/clj/pmagnus/btcdata/web/routes/api.clj b/src/clj/pmagnus/btcdata/web/routes/api.clj index 0b98b7e..85a4d71 100644 --- a/src/clj/pmagnus/btcdata/web/routes/api.clj +++ b/src/clj/pmagnus/btcdata/web/routes/api.clj @@ -87,10 +87,14 @@ {:on-open (fn [{:keys [^WebSocketChannel channel]}] (start-strike-ws-loop! channel strike-atom))}})) -(defn- latest-price-handler [{:keys [binance frankfurter]} _req] +(defn- latest-price-handler [{:keys [binance frankfurter query-fn]} _req] (let [price-atom (:latest-price binance) rates-atom (:rates frankfurter) - v @price-atom] + v (or @price-atom + (when-let [row (query-fn :get-latest-binance-price {})] + {:price (:price row) + :prev-price (:price row) + :recorded-at (:recorded_at row)}))] (if v {:status 200 :headers {"Content-Type" "application/json"}