adds integration statuses to bank account pages.
This commit is contained in:
@@ -9,7 +9,31 @@
|
||||
[datomic.api :as d]
|
||||
[mount.core :as mount]
|
||||
[unilog.context :as lc]
|
||||
[yang.scheduler :as scheduler]))
|
||||
[yang.scheduler :as scheduler]
|
||||
[clojure.tools.logging :as log]))
|
||||
|
||||
(defn bank-account->integration-id [bank-account]
|
||||
(or (->> bank-account
|
||||
(d/pull (d/db conn) [:bank-account/integration-status])
|
||||
:bank-account/integration-status
|
||||
:db/id)
|
||||
#db/id[:db.part/user]))
|
||||
|
||||
(defn get-client-transactions-or-mark-integration-fail [client-code yodlee-account bank-account]
|
||||
(try
|
||||
(let [result (client2/get-specific-transactions client-code yodlee-account)]
|
||||
@(d/transact conn [{:db/id bank-account :bank-account/integration-status {:db/id (bank-account->integration-id bank-account)
|
||||
:integration-status/state :integration-state/success
|
||||
:integration-status/last-attempt (java.util.Date.)
|
||||
:integration-status/last-updated (java.util.Date.)}}])
|
||||
result)
|
||||
(catch Exception e
|
||||
@(d/transact conn [{:db/id bank-account :bank-account/integration-status {:db/id (bank-account->integration-id bank-account)
|
||||
:integration-status/state :integration-state/failed
|
||||
:integration-status/last-attempt (java.util.Date.)
|
||||
:integration-status/message (.getMessage e)}}])
|
||||
(log/warn e)
|
||||
[])))
|
||||
|
||||
(defn import-yodlee2 []
|
||||
(lc/with-context {:source "Import yodlee2 transactions"}
|
||||
@@ -30,7 +54,8 @@
|
||||
]
|
||||
(d/db conn))]
|
||||
(doseq [[yodlee-account bank-account client-code use-date-instead-of-post-date?] account-lookup
|
||||
transaction (client2/get-specific-transactions client-code yodlee-account)]
|
||||
transaction (get-client-transactions-or-mark-integration-fail client-code yodlee-account bank-account)]
|
||||
(println transaction)
|
||||
(t/import-transaction! import-batch (assoc (y/yodlee->transaction transaction use-date-instead-of-post-date?)
|
||||
:transaction/bank-account bank-account
|
||||
:transaction/client [:client/code client-code])))
|
||||
|
||||
Reference in New Issue
Block a user