captures last integration for each bank account as well.

This commit is contained in:
2022-07-08 13:24:47 -07:00
parent 789914b3f7
commit 6c961e17ba
5 changed files with 45 additions and 36 deletions

View File

@@ -1,8 +1,10 @@
(ns auto-ap.import.plaid
(:require
[auto-ap.datomic :refer [conn]]
[auto-ap.import.common :refer [wrap-integration]]
[auto-ap.import.transactions :as t]
[auto-ap.plaid.core :as p]
[auto-ap.time :as atime]
[auto-ap.utils :refer [allow-once by heartbeat]]
[clj-time.coerce :as coerce]
[clj-time.core :as time]
@@ -30,18 +32,19 @@
:amount (if (= "credit" (:type (:account t)))
(- (double (:amount t)))
(double (:amount t)))
:date (coerce/to-date (auto-ap.time/parse (:authorized_date t) auto-ap.time/iso-date))
:date (coerce/to-date (atime/parse (:authorized_date t) atime/iso-date))
:status "POSTED"})
(defn import-plaid []
(lc/with-context {:source "Import plaid transactions"}
(let [import-batch (t/start-import-batch :import-source/plaid "Automated plaid user")
end (auto-ap.time/local-now)
end (atime/local-now)
start (time/plus end (time/days -30))]
(try
(doseq [[bank-account-id client-id external-id access-token] (get-plaid-accounts (d/db conn))
:let [transaction-result (p/get-transactions access-token external-id start end)
:let [transaction-result (wrap-integration #(p/get-transactions access-token external-id start end)
bank-account-id)
accounts-by-id (by :account_id (:accounts transaction-result))]
transaction (:transactions transaction-result)]
(when (not (:pending transaction))