added apply all rule.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
[auto-ap.datomic.transactions :as d-transactions]
|
||||
[auto-ap.datomic.vendors :as d-vendors]
|
||||
[auto-ap.datomic.checks :as d-checks]
|
||||
[auto-ap.graphql.transaction-rules :as g-tr]
|
||||
[datomic.api :as d]
|
||||
[auto-ap.datomic :refer [uri remove-nils]]
|
||||
[com.walmartlabs.lacinia :refer [execute]]
|
||||
@@ -122,8 +123,17 @@
|
||||
approval-status->graphql
|
||||
->graphql))
|
||||
|
||||
(defn match-transaction-rules [context {:keys [transaction_ids transaction_rule_id]} value]
|
||||
(defn match-transaction-rules [context {:keys [transaction_ids transaction_rule_id all]} value]
|
||||
(let [_ (assert-admin (:id context))
|
||||
transaction_ids (if all
|
||||
(->> (g-tr/run-transaction-rule context {:transaction_rule_id transaction_rule_id
|
||||
:count Integer/MAX_VALUE} nil)
|
||||
|
||||
(filter #(not (:transaction/payment %)))
|
||||
(map :id ))
|
||||
|
||||
|
||||
transaction_ids)
|
||||
transactions (transduce
|
||||
(comp
|
||||
(map d-transactions/get-by-id)
|
||||
@@ -134,7 +144,9 @@
|
||||
transaction-rule (update (tr/get-by-id transaction_rule_id) :transaction-rule/description #(some-> % re-pattern))]
|
||||
(doseq [transaction transactions]
|
||||
(when (not (rm/rule-applies? transaction transaction-rule))
|
||||
(throw (ex-info "Transaction rule does not apply" {:validation-error "Transaction rule does not apply"})))
|
||||
(throw (ex-info "Transaction rule does not apply" {:validation-error "Transaction rule does not apply"
|
||||
:transaction-rule transaction-rule
|
||||
:transaction transaction})))
|
||||
|
||||
(when (:transaction/payment transaction)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user