Makes transaction pencil much faster.

This commit is contained in:
2023-04-07 20:38:02 -07:00
parent a3ac3e825b
commit ed37b19d6a
5 changed files with 32 additions and 15 deletions

View File

@@ -14,15 +14,21 @@
(defn <-datomic [result]
result)
(def default-read '[*
(def default-read '[:db/id
:transaction-rule/description
:transaction-rule/note
:transaction-rule/amount-lte
:transaction-rule/amount-gte
:transaction-rule/dom-lte
:transaction-rule/dom-gte
{:transaction-rule/client [:client/name :db/id :client/code]}
{:transaction-rule/bank-account [*]}
{:transaction-rule/bank-account [:db/id :bank-account/name]}
{:transaction-rule/yodlee-merchant [:db/id :yodlee-merchant/name :yodlee-merchant/yodlee-id]}
{:transaction-rule/transaction-approval-status [:db/id :db/ident]}
{:transaction-rule/vendor [:vendor/name :db/id :vendor/default-account]}
{:transaction-rule/accounts [:transaction-rule-account/percentage
:transaction-rule-account/location
{:transaction-rule-account/account [*]}
{:transaction-rule-account/account [:account/name :db/id :account/numeric-code :account/location]}
:db/id]}])
(defn raw-graphql-ids [db args]
@@ -107,3 +113,16 @@
:in ['$]
:where ['[?e :transaction-rule/transaction-approval-status]]}
:args [(dc/db conn)]})))
(defn get-all-for-client [client-id]
(mapv first
(dc/q '[:find (pull ?e read)
:in $ ?c read
:where
[?e :transaction-rule/transaction-approval-status]
(or-join [?e ?c]
[?e :transaction-rule/client ?c]
(not [?e :transaction-rule/client]))]
(dc/db conn)
client-id
default-read)))