Files
integreat/src/clj/auto_ap/import/common.clj
Bryce ba87805d4c Add vendor pre-population for bulk code and individual edit forms
- Add vendor-changed HTMX handlers for both bulk code and individual edit
- Pre-populate default account at 100% when vendor is selected and no accounts exist
- Fix render-accounts-section to render from step-params correctly
- Change bulk code vendor-changed from hx-get to hx-post to include form data
- Add routes for vendor-changed endpoints
- Update e2e tests to cover vendor pre-population
- Run lein cljfmt fix across codebase
2026-05-21 14:45:19 -07:00

30 lines
1.4 KiB
Clojure

(ns auto-ap.import.common
(:require
[auto-ap.datomic :refer [conn pull-ref random-tempid]]
[auto-ap.logging :as alog]
[datomic.api :as dc]))
(defn bank-account->integration-id [bank-account]
(or (pull-ref (dc/db conn) :bank-account/integration-status bank-account)
(random-tempid)))
(defn wrap-integration [f bank-account]
(try
(let [result (f)]
@(dc/transact-async 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
@(dc/transact-async 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)}}])
(alog/warn ::integration-failed :error e)
nil)))