diff --git a/src/clj/auto_ap/graphql/clients.clj b/src/clj/auto_ap/graphql/clients.clj index a09f1873..ca27bc18 100644 --- a/src/clj/auto_ap/graphql/clients.clj +++ b/src/clj/auto_ap/graphql/clients.clj @@ -187,24 +187,23 @@ clients (dc/q '[:find (pull ?c [:db/id :client/code {:client/bank-accounts [:db/id :bank-account/code]}]) :where [?c :client/code]] db )] - @(dc/transact conn - (for [[{client :db/id code :client/code bank-accounts :client/bank-accounts}] clients - {bank-account :db/id bac :bank-account/code} bank-accounts] - {:db/id bank-account - :bank-account/current-balance - (or - (->> (dc/index-pull db - {:index :avet - :selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}] - :start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]] - :reverse true - }) - (filter (fn [{[c b] :journal-entry-line/client+account+location+date}] - (and (= c client) - (= b bank-account)))) - (map :journal-entry-line/running-balance) - (first)) - 0.0)}))))) + (doseq [[{client :db/id code :client/code bank-accounts :client/bank-accounts}] clients + {bank-account :db/id bac :bank-account/code} bank-accounts] + @(dc/transact conn [{:db/id bank-account + :bank-account/current-balance + (or + (->> (dc/index-pull db + {:index :avet + :selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}] + :start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]] + :reverse true + }) + (filter (fn [{[c b] :journal-entry-line/client+account+location+date}] + (and (= c client) + (= b bank-account)))) + (map :journal-entry-line/running-balance) + (first)) + 0.0)}]))))) (defn get-client [context _ _] (->graphql diff --git a/src/clj/auto_ap/square/core.clj b/src/clj/auto_ap/square/core.clj index 3d5eea21..ba682711 100644 --- a/src/clj/auto_ap/square/core.clj +++ b/src/clj/auto_ap/square/core.clj @@ -407,7 +407,7 @@ (daily-results client location start end))] (doseq [x (partition-all 20 to-create)] (log/info "Loading " (count x)) - @(dc/transact conn x)))))) + @(dc/transact-async conn x)))))) (defn upsert-settlements ([client] @@ -419,7 +419,7 @@ :client (:client/code client)} (doseq [x (partition-all 20 (daily-settlements client location))] (log/info "Loading expected deposit" (count x)) - @(dc/transact conn x)) + @(dc/transact-async conn x)) (log/info "Done loading settlements")))) (defn upsert-refunds @@ -433,7 +433,7 @@ :location (:square-location/client-location client)} (doseq [x (partition-all 20 (refunds client location))] (log/info "Loading refund" (count x)) - @(dc/transact conn x)) + @(dc/transact-async conn x)) (log/info "Done loading refunds")))) (def square-read [:db/id @@ -474,7 +474,7 @@ [(:square-location/square-id sl) (:db/id sl)]) (:client/square-locations client)))] - @(dc/transact conn (for [square-location (client-locations client)] + @(dc/transact-async conn (for [square-location (client-locations client)] {:db/id (or (square-id->id (:id square-location)) (random-tempid)) :client/_square-locations (:db/id client) :square-location/name (:name square-location) @@ -492,7 +492,7 @@ (map (fn [x] [:db/retractEntity x])))) (defn mark-integration-status [client integration-status] - @(dc/transact conn + @(dc/transact-async conn [{:db/id (:db/id client) :client/square-integration-status (assoc integration-status :db/id (or (-> client :client/square-integration-status :db/id) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index 1e47b05b..23c477d7 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -568,7 +568,7 @@ (doseq [x (partition-all 100 results)] (log/info ::loading-orders :count (count x)) - @(dc/transact conn x)))))))) + @(dc/transact-async conn x)))))))) (defn upsert-settlements @@ -588,7 +588,7 @@ (doseq [x (partition-all 20 settlements)] (log/info ::loading-deposits :count (count x)) - @(dc/transact conn x)) + @(dc/transact-async conn x)) (log/info ::done-loading-deposits))))))) (defn upsert-refunds @@ -609,7 +609,7 @@ (log/info ::loading-refunds :count (count x) :sample (first x)) - @(dc/transact conn x)) + @(dc/transact-async conn x)) (catch Throwable e (log/error ::upsert-refunds-failed @@ -687,7 +687,7 @@ (log/info ::loading-cash-shifts :count (count x) :sample (first x)) - @(dc/transact conn x)) + @(dc/transact-async conn x)) (catch Throwable e (log/error ::upsert-cash-shifts-failed @@ -737,7 +737,7 @@ (:client/square-locations client)))] (de/chain (client-locations client) (fn [client-locations] - @(dc/transact conn + @(dc/transact-async conn (for [square-location client-locations] {:db/id (or (square-id->id (:id square-location)) (str (java.util.UUID/randomUUID))) :client/_square-locations (:db/id client) @@ -756,7 +756,7 @@ (map (fn [x] [:db/retractEntity x])))) (defn mark-integration-status [client integration-status] - @(dc/transact conn + @(dc/transact-async conn [{:db/id (:db/id client) :client/square-integration-status (assoc integration-status :db/id (or (-> client :client/square-integration-status :db/id)