no need for ledger automation.

This commit is contained in:
2022-09-27 17:04:47 -07:00
parent 90743ab3a3
commit 63254ba401
9 changed files with 163 additions and 201 deletions

View File

@@ -1,7 +1,6 @@
(ns auto-ap.graphql.transactions
(:require
[auto-ap.datomic
:refer [audit-transact audit-transact-batch conn remove-nils]]
[auto-ap.datomic :refer [conn remove-nils]]
[auto-ap.datomic.accounts :as a]
[auto-ap.datomic.checks :as d-checks]
[auto-ap.datomic.invoices :as d-invoices]
@@ -19,6 +18,8 @@
ident->enum-f
snake->kebab]]
[auto-ap.import.transactions :as i-transactions]
[auto-ap.ledger
:refer [transact-batch-with-ledger transact-with-ledger]]
[auto-ap.rule-matching :as rm]
[auto-ap.utils :refer [dollars=]]
[clj-time.coerce :as coerce]
@@ -87,7 +88,7 @@
all-ids-not-locked)]
(log/info "Unapproving " (count all-ids) args)
(audit-transact-batch
(transact-batch-with-ledger
(->> all-ids
(mapv (fn [t]
{:db/id t
@@ -166,7 +167,7 @@
(throw (ex-info err {:validation-error err}) ))))
(log/info "Bulk coding " (count all-ids) args)
(audit-transact-batch
(transact-batch-with-ledger
(mapcat (fn [i]
(cond-> [(cond-> i
(:approval_status args) (assoc :transaction/approval-status (enum->keyword (:approval_status args) "transaction-approval-status"))
@@ -185,7 +186,7 @@
db (d/db conn)]
(log/info "Deleting " (count all-ids) args)
(audit-transact-batch
(transact-batch-with-ledger
(mapcat (fn [i]
(let [transaction (d/entity db i)
payment-id (-> transaction :transaction/payment :db/id)
@@ -265,7 +266,7 @@
(when (not= :payment-status/cleared (-> payment :payment/status :db/ident))
(throw (ex-info "Payment can't be undone because it isn't cleared." {:validation-error "Payment can't be undone because it isn't cleared."})))
(if is-autopay-payment?
(audit-transact
(transact-with-ledger
(cond-> [{:db/id (:db/id payment)
:payment/status :payment-status/pending}
{:db/id transaction-id
@@ -291,7 +292,7 @@
:where ['[?ip :invoice-payment/payment ?p]]}
:args [(d/db conn) (:db/id payment)]} ))))
(:id context))
(audit-transact
(transact-with-ledger
(into (cond-> [{:db/id (:db/id payment)
:payment/status :payment-status/pending}
{:db/id transaction-id
@@ -374,7 +375,7 @@
(when missing-locations
(throw (ex-info (str "Location '" (str/join ", " missing-locations) "' not found on client.") {})) )
(audit-transact (concat [(remove-nils {:db/id id
(transact-with-ledger (concat [(remove-nils {:db/id id
:transaction/vendor vendor_id
:transaction/approval-status (some->> approval_status
name
@@ -413,7 +414,7 @@
(when-not (dollars= (- (:transaction/amount transaction))
(:payment/amount payment))
(throw (ex-info "Amounts don't match" {:validation-error "Amounts don't match"})))
(audit-transact (into
(transact-with-ledger (into
[{:db/id (:db/id payment)
:payment/status :payment-status/cleared
:payment/date (coerce/to-date (first (sort [(:payment/date payment)
@@ -469,7 +470,7 @@
(:db/id (:transaction/bank-account transaction))
(:db/id (:transaction/client transaction)))]
(log/info "Adding a new payment" payment-tx)
@(d/transact conn payment-tx))
(transact-with-ledger payment-tx (:id context)))
(-> (d-transactions/get-by-id transaction_id)
approval-status->graphql
@@ -506,7 +507,7 @@
(:db/id (:transaction/bank-account transaction))
(:db/id (:transaction/client transaction)))]
(log/info "Adding a new payment" payment-tx)
@(d/transact conn payment-tx))
(transact-with-ledger payment-tx (:id context)))
(-> (d-transactions/get-by-id transaction_id)
approval-status->graphql
@@ -541,7 +542,7 @@
(when (:transaction/payment transaction)
(throw (ex-info "Transaction already associated with a payment" {:validation-error "Transaction already associated with a payment"}))))
(audit-transact (transduce
(transact-with-ledger (transduce
(map #(into
[(remove-nils (rm/apply-rule {:db/id (:db/id %)
:transaction/amount (:transaction/amount %)}